andoncloud-dashboard-toolkit 1.5.48 → 1.5.49
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.
- package/dist/assets/DragIcon.tsx +12 -0
- package/dist/assets/bg-pattern.ts +92 -0
- package/dist/assets/resize-icon.ts +5 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +3 -3
- package/dist/index.js.map +1 -1
- package/package.json +2 -1
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["styles","styles","en","pl","styles","FEATURE_KEY","styles","styles","styles","styles","styles","styles","styles","styles","styles","styles","locales","styles","Select","styles.container","locales"],"sources":["../src/components/ConfirmTooltip/styles.ts","../src/components/ConfirmTooltip/index.tsx","../src/graphql-sdk.ts","../src/helpers/filters.ts","../src/locales/en/translation.json","../src/locales/pl/translation.json","../src/locales/index.ts","../src/components/DashboardFilters/AccessDeniedModal/styles.ts","../src/components/DashboardFilters/AccessDeniedModal/index.tsx","../src/components/DashboardFilters/DayTypeSelector/styles.ts","../src/components/DashboardFilters/DayTypeSelector/index.tsx","../src/helpers/shifts.ts","../src/helpers/periods.ts","../src/components/DashboardFilters/PeriodList/styles.ts","../src/components/DashboardFilters/PeriodList/index.tsx","../src/components/DashboardFilters/DateRangePicker/styles.ts","../src/components/DashboardFilters/DateRangePicker/index.tsx","../src/components/DashboardFilters/ShiftSelector/styles.ts","../src/components/DashboardFilters/ShiftSelector/index.tsx","../src/components/DashboardFilters/useDashboardFilters.ts","../src/components/DashboardFilters/styles.ts","../src/components/DashboardFilters/index.tsx","../src/assets/bg-pattern.ts","../src/components/MetricCard/styles.ts","../src/components/MetricCard/index.tsx","../src/components/SortableSelect/index.tsx","../src/assets/DragIcon.tsx","../src/utils/actioncable-client.ts","../src/utils/graphql-ws-client.ts","../src/graphql-ws.ts","../src/helpers/sdk.ts","../src/hooks/useGqlClients.ts","../src/components/WidgetCard/errorBoundaryStyles.ts","../src/components/WidgetCard/ErrorBoundary.tsx","../src/assets/resize-icon.ts","../src/components/WidgetCard/styles.ts","../src/components/WidgetCard/index.tsx","../src/helpers/aggregation.ts","../src/helpers/time.ts","../src/version.ts"],"sourcesContent":["import { SxProps, Theme } from '@mui/material/styles';\n\nconst styles: Record<string, SxProps<Theme>> = {\n buttons: {\n paddingTop: (theme) => theme.spacing(2),\n },\n cancelButton: {\n marginRight: '10px',\n },\n popper: {\n '.MuiTooltip-tooltip': {\n padding: '20px',\n fontSize: '14px',\n borderRadius: '8px',\n border: `1px solid #4E5A67`,\n background: '#1C1F25',\n boxShadow: '0px 4px 10.4px 0px rgba(255, 255, 255, 0.05)',\n },\n '.MuiTooltip-arrow': {\n color: '#4E5A67',\n },\n },\n};\n\nexport default styles;\n","import React from 'react';\n\nimport { Box, Button, Stack, Tooltip, TooltipProps, Typography } from '@mui/material';\n\nimport styles from './styles';\n\ninterface ConfirmTooltipProps extends Omit<TooltipProps, 'title'> {\n confirmMessage: string;\n confirmButtonText: string;\n cancelButtonText: string;\n onCancel: () => void;\n onConfirm: () => void;\n confirmButtonTestId?: string;\n cancelButtonTestId?: string;\n}\n\nconst ConfirmTooltip: React.FC<ConfirmTooltipProps> = ({\n children,\n confirmMessage,\n confirmButtonText,\n cancelButtonText,\n onCancel,\n onConfirm,\n confirmButtonTestId,\n cancelButtonTestId,\n ...props\n}) => {\n return (\n <Tooltip\n {...props}\n placement=\"bottom-end\"\n title={\n <Box>\n <Typography>{confirmMessage}</Typography>\n <Stack direction=\"row\" justifyContent=\"flex-end\" sx={styles.buttons}>\n <Button\n variant=\"outlined\"\n color=\"secondary\"\n onClick={(e) => {\n e.stopPropagation();\n\n onCancel();\n }}\n sx={styles.cancelButton}\n data-testid={cancelButtonTestId}\n >\n {cancelButtonText}\n </Button>\n <Button\n variant=\"contained\"\n color=\"error\"\n onClick={(e) => {\n e.stopPropagation();\n\n onConfirm();\n }}\n data-testid={confirmButtonTestId}\n >\n {confirmButtonText}\n </Button>\n </Stack>\n </Box>\n }\n PopperProps={{ sx: styles.popper }}\n arrow\n >\n {children}\n </Tooltip>\n );\n};\n\nexport default ConfirmTooltip;\n","import { GraphQLClient, RequestOptions } from 'graphql-request';\nimport gql from 'graphql-tag';\nexport type Maybe<T> = T | null;\nexport type InputMaybe<T> = Maybe<T>;\nexport type Exact<T extends { [key: string]: unknown }> = { [K in keyof T]: T[K] };\nexport type MakeOptional<T, K extends keyof T> = Omit<T, K> & { [SubKey in K]?: Maybe<T[SubKey]> };\nexport type MakeMaybe<T, K extends keyof T> = Omit<T, K> & { [SubKey in K]: Maybe<T[SubKey]> };\nexport type MakeEmpty<T extends { [key: string]: unknown }, K extends keyof T> = { [_ in K]?: never };\nexport type Incremental<T> = T | { [P in keyof T]?: P extends ' $fragmentName' | '__typename' ? T[P] : never };\ntype GraphQLClientRequestHeaders = RequestOptions['requestHeaders'];\n/** All built-in and custom scalars, mapped to their actual values */\nexport type Scalars = {\n ID: { input: string; output: string };\n String: { input: string; output: string };\n Boolean: { input: boolean; output: boolean };\n Int: { input: number; output: number };\n Float: { input: number; output: number };\n /** An ISO 8601-encoded date */\n ISO8601Date: { input: any; output: any };\n /** An ISO 8601-encoded datetime */\n ISO8601DateTime: { input: any; output: any };\n /** Represents untyped JSON */\n JSON: { input: any; output: any };\n};\n\nexport enum AccessRequestTypeEnum {\n FeatureAccess = 'FEATURE_ACCESS',\n Purchase = 'PURCHASE',\n TrialExpired = 'TRIAL_EXPIRED',\n Wishlist = 'WISHLIST',\n}\n\nexport type ActualStaffingCount = {\n __typename?: 'ActualStaffingCount';\n actualOperators: Scalars['Int']['output'];\n date: Scalars['ISO8601Date']['output'];\n hasDeviation: Scalars['Boolean']['output'];\n plannedOperators?: Maybe<Scalars['Int']['output']>;\n shift: Shift;\n workplace: Workplace;\n};\n\nexport type ActualStaffingCountFilter = {\n date?: InputMaybe<Scalars['ISO8601Date']['input']>;\n shift_id_in?: InputMaybe<Array<Scalars['ID']['input']>>;\n workplace_id_in?: InputMaybe<Array<Scalars['ID']['input']>>;\n};\n\nexport enum AndonLightColor {\n Gray = 'gray',\n Green = 'green',\n Red = 'red',\n Yellow = 'yellow',\n}\n\nexport type ApplicationInfo = {\n __typename?: 'ApplicationInfo';\n apiVersion: Scalars['String']['output'];\n};\n\nexport type AssignOperatorInput = {\n shiftId: Scalars['ID']['input'];\n userId: Scalars['ID']['input'];\n validFrom: Scalars['ISO8601Date']['input'];\n workplaceId: Scalars['ID']['input'];\n};\n\n/** Autogenerated return type of AssignOperatorToWorkplace */\nexport type AssignOperatorToWorkplacePayload = {\n __typename?: 'AssignOperatorToWorkplacePayload';\n assignment?: Maybe<WorkplaceAssignment>;\n errors?: Maybe<Array<MutationError>>;\n};\n\nexport type AssignedOperator = {\n __typename?: 'AssignedOperator';\n presenceStatus: PresenceStatusEnum;\n user: User;\n};\n\nexport type AssignmentSummary = {\n __typename?: 'AssignmentSummary';\n totalAssigned: Scalars['Int']['output'];\n totalCheckedIn: Scalars['Int']['output'];\n totalMissing: Scalars['Int']['output'];\n};\n\nexport type AvailabilityInsightsEntry = {\n __typename?: 'AvailabilityInsightsEntry';\n availability: Scalars['Float']['output'];\n label: Scalars['String']['output'];\n noData: Scalars['Boolean']['output'];\n};\n\nexport type AvailabilityInsightsInput = {\n comparedPeriods: Scalars['Int']['input'];\n dateFrom: Scalars['ISO8601DateTime']['input'];\n dateTo: Scalars['ISO8601DateTime']['input'];\n dayType: DayType;\n};\n\nexport type AvailabilityInsightsResult = {\n __typename?: 'AvailabilityInsightsResult';\n entries: Array<AvailabilityInsightsEntry>;\n};\n\nexport enum AvailabilityStatus {\n OffSchedule = 'OFF_SCHEDULE',\n PlannedStop = 'PLANNED_STOP',\n Stopped = 'STOPPED',\n Working = 'WORKING',\n}\n\nexport type BulkStaffingPlanInput = {\n plans: Array<StaffingPlanInput>;\n};\n\n/** Autogenerated return type of BulkUpsertStaffingPlans */\nexport type BulkUpsertStaffingPlansPayload = {\n __typename?: 'BulkUpsertStaffingPlansPayload';\n errors?: Maybe<Array<MutationError>>;\n staffingPlans?: Maybe<Array<StaffingPlan>>;\n};\n\nexport type CompanyConfig = {\n __typename?: 'CompanyConfig';\n devicesConfigs: Array<DeviceConfig>;\n displayedKpiItems: Array<Scalars['String']['output']>;\n reasonsRecommendationsEnabled: Scalars['Boolean']['output'];\n roleConfig: RoleConfig;\n statusChangeTransitionPermissionsUpdatedAt?: Maybe<Scalars['String']['output']>;\n workplacesConfigs: Array<WorkplaceConfig>;\n};\n\nexport type Counter = {\n __typename?: 'Counter';\n directoryId?: Maybe<Scalars['String']['output']>;\n hasNote: Scalars['Boolean']['output'];\n id: Scalars['ID']['output'];\n isDisabled: Scalars['Boolean']['output'];\n kind: CounterKindEnum;\n name: Scalars['String']['output'];\n position: Scalars['Int']['output'];\n value: Scalars['Float']['output'];\n workplaceId: Scalars['String']['output'];\n};\n\nexport type CounterDirectory = {\n __typename?: 'CounterDirectory';\n directoryId?: Maybe<Scalars['String']['output']>;\n id: Scalars['ID']['output'];\n name?: Maybe<Scalars['String']['output']>;\n position: Scalars['Int']['output'];\n workplaceId: Scalars['String']['output'];\n};\n\nexport type CounterDirectoryFilter = {\n ancestry_cont?: InputMaybe<Scalars['String']['input']>;\n ancestry_contains?: InputMaybe<Scalars['String']['input']>;\n ancestry_end?: InputMaybe<Scalars['String']['input']>;\n ancestry_eq?: InputMaybe<Scalars['String']['input']>;\n ancestry_equals?: InputMaybe<Scalars['String']['input']>;\n ancestry_in?: InputMaybe<Array<Scalars['String']['input']>>;\n ancestry_not_eq?: InputMaybe<Scalars['String']['input']>;\n ancestry_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n ancestry_not_null?: InputMaybe<Scalars['String']['input']>;\n ancestry_null?: InputMaybe<Scalars['String']['input']>;\n ancestry_start?: InputMaybe<Scalars['String']['input']>;\n company_id_eq?: InputMaybe<Scalars['String']['input']>;\n company_id_equals?: InputMaybe<Scalars['String']['input']>;\n company_id_gt?: InputMaybe<Scalars['String']['input']>;\n company_id_gteq?: InputMaybe<Scalars['String']['input']>;\n company_id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n company_id_lt?: InputMaybe<Scalars['String']['input']>;\n company_id_lteq?: InputMaybe<Scalars['String']['input']>;\n company_id_not_eq?: InputMaybe<Scalars['String']['input']>;\n company_id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n company_id_not_null?: InputMaybe<Scalars['String']['input']>;\n company_id_null?: InputMaybe<Scalars['String']['input']>;\n created_at_eq?: InputMaybe<Scalars['String']['input']>;\n created_at_equals?: InputMaybe<Scalars['String']['input']>;\n created_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n created_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n created_at_not_null?: InputMaybe<Scalars['String']['input']>;\n created_at_null?: InputMaybe<Scalars['String']['input']>;\n deleted_at_eq?: InputMaybe<Scalars['String']['input']>;\n deleted_at_equals?: InputMaybe<Scalars['String']['input']>;\n deleted_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n deleted_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n deleted_at_not_null?: InputMaybe<Scalars['String']['input']>;\n deleted_at_null?: InputMaybe<Scalars['String']['input']>;\n id_eq?: InputMaybe<Scalars['String']['input']>;\n id_equals?: InputMaybe<Scalars['String']['input']>;\n id_gt?: InputMaybe<Scalars['String']['input']>;\n id_gteq?: InputMaybe<Scalars['String']['input']>;\n id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n id_lt?: InputMaybe<Scalars['String']['input']>;\n id_lteq?: InputMaybe<Scalars['String']['input']>;\n id_not_eq?: InputMaybe<Scalars['String']['input']>;\n id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n id_not_null?: InputMaybe<Scalars['String']['input']>;\n id_null?: InputMaybe<Scalars['String']['input']>;\n name_cont?: InputMaybe<Scalars['String']['input']>;\n name_contains?: InputMaybe<Scalars['String']['input']>;\n name_en_cont?: InputMaybe<Scalars['String']['input']>;\n name_en_contains?: InputMaybe<Scalars['String']['input']>;\n name_en_end?: InputMaybe<Scalars['String']['input']>;\n name_en_eq?: InputMaybe<Scalars['String']['input']>;\n name_en_equals?: InputMaybe<Scalars['String']['input']>;\n name_en_in?: InputMaybe<Array<Scalars['String']['input']>>;\n name_en_not_eq?: InputMaybe<Scalars['String']['input']>;\n name_en_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n name_en_not_null?: InputMaybe<Scalars['String']['input']>;\n name_en_null?: InputMaybe<Scalars['String']['input']>;\n name_en_start?: InputMaybe<Scalars['String']['input']>;\n name_end?: InputMaybe<Scalars['String']['input']>;\n name_eq?: InputMaybe<Scalars['String']['input']>;\n name_equals?: InputMaybe<Scalars['String']['input']>;\n name_in?: InputMaybe<Array<Scalars['String']['input']>>;\n name_not_eq?: InputMaybe<Scalars['String']['input']>;\n name_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n name_not_null?: InputMaybe<Scalars['String']['input']>;\n name_null?: InputMaybe<Scalars['String']['input']>;\n name_pl_cont?: InputMaybe<Scalars['String']['input']>;\n name_pl_contains?: InputMaybe<Scalars['String']['input']>;\n name_pl_end?: InputMaybe<Scalars['String']['input']>;\n name_pl_eq?: InputMaybe<Scalars['String']['input']>;\n name_pl_equals?: InputMaybe<Scalars['String']['input']>;\n name_pl_in?: InputMaybe<Array<Scalars['String']['input']>>;\n name_pl_not_eq?: InputMaybe<Scalars['String']['input']>;\n name_pl_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n name_pl_not_null?: InputMaybe<Scalars['String']['input']>;\n name_pl_null?: InputMaybe<Scalars['String']['input']>;\n name_pl_start?: InputMaybe<Scalars['String']['input']>;\n name_start?: InputMaybe<Scalars['String']['input']>;\n position_eq?: InputMaybe<Scalars['String']['input']>;\n position_equals?: InputMaybe<Scalars['String']['input']>;\n position_gt?: InputMaybe<Scalars['String']['input']>;\n position_gteq?: InputMaybe<Scalars['String']['input']>;\n position_in?: InputMaybe<Array<Scalars['String']['input']>>;\n position_lt?: InputMaybe<Scalars['String']['input']>;\n position_lteq?: InputMaybe<Scalars['String']['input']>;\n position_not_eq?: InputMaybe<Scalars['String']['input']>;\n position_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n position_not_null?: InputMaybe<Scalars['String']['input']>;\n position_null?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_eq?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_equals?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_gt?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_gteq?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n subgroup_id_lt?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_lteq?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_not_eq?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n subgroup_id_not_null?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_null?: InputMaybe<Scalars['String']['input']>;\n updated_at_eq?: InputMaybe<Scalars['String']['input']>;\n updated_at_equals?: InputMaybe<Scalars['String']['input']>;\n updated_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n updated_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n updated_at_not_null?: InputMaybe<Scalars['String']['input']>;\n updated_at_null?: InputMaybe<Scalars['String']['input']>;\n workplace_id_cont?: InputMaybe<Scalars['String']['input']>;\n workplace_id_contains?: InputMaybe<Scalars['String']['input']>;\n workplace_id_end?: InputMaybe<Scalars['String']['input']>;\n workplace_id_eq?: InputMaybe<Scalars['String']['input']>;\n workplace_id_equals?: InputMaybe<Scalars['String']['input']>;\n workplace_id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n workplace_id_not_eq?: InputMaybe<Scalars['String']['input']>;\n workplace_id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n workplace_id_not_null?: InputMaybe<Scalars['String']['input']>;\n workplace_id_null?: InputMaybe<Scalars['String']['input']>;\n workplace_id_start?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type CounterFilter = {\n company_id_eq?: InputMaybe<Scalars['String']['input']>;\n company_id_equals?: InputMaybe<Scalars['String']['input']>;\n company_id_gt?: InputMaybe<Scalars['String']['input']>;\n company_id_gteq?: InputMaybe<Scalars['String']['input']>;\n company_id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n company_id_lt?: InputMaybe<Scalars['String']['input']>;\n company_id_lteq?: InputMaybe<Scalars['String']['input']>;\n company_id_not_eq?: InputMaybe<Scalars['String']['input']>;\n company_id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n company_id_not_null?: InputMaybe<Scalars['String']['input']>;\n company_id_null?: InputMaybe<Scalars['String']['input']>;\n counter_directory_id_eq?: InputMaybe<Scalars['String']['input']>;\n counter_directory_id_equals?: InputMaybe<Scalars['String']['input']>;\n counter_directory_id_gt?: InputMaybe<Scalars['String']['input']>;\n counter_directory_id_gteq?: InputMaybe<Scalars['String']['input']>;\n counter_directory_id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n counter_directory_id_lt?: InputMaybe<Scalars['String']['input']>;\n counter_directory_id_lteq?: InputMaybe<Scalars['String']['input']>;\n counter_directory_id_not_eq?: InputMaybe<Scalars['String']['input']>;\n counter_directory_id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n counter_directory_id_not_null?: InputMaybe<Scalars['String']['input']>;\n counter_directory_id_null?: InputMaybe<Scalars['String']['input']>;\n created_at_eq?: InputMaybe<Scalars['String']['input']>;\n created_at_equals?: InputMaybe<Scalars['String']['input']>;\n created_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n created_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n created_at_not_null?: InputMaybe<Scalars['String']['input']>;\n created_at_null?: InputMaybe<Scalars['String']['input']>;\n deleted_at_eq?: InputMaybe<Scalars['String']['input']>;\n deleted_at_equals?: InputMaybe<Scalars['String']['input']>;\n deleted_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n deleted_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n deleted_at_not_null?: InputMaybe<Scalars['String']['input']>;\n deleted_at_null?: InputMaybe<Scalars['String']['input']>;\n handler_eq?: InputMaybe<Scalars['String']['input']>;\n handler_equals?: InputMaybe<Scalars['String']['input']>;\n handler_gt?: InputMaybe<Scalars['String']['input']>;\n handler_gteq?: InputMaybe<Scalars['String']['input']>;\n handler_in?: InputMaybe<Array<Scalars['String']['input']>>;\n handler_lt?: InputMaybe<Scalars['String']['input']>;\n handler_lteq?: InputMaybe<Scalars['String']['input']>;\n handler_not_eq?: InputMaybe<Scalars['String']['input']>;\n handler_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n handler_not_null?: InputMaybe<Scalars['String']['input']>;\n handler_null?: InputMaybe<Scalars['String']['input']>;\n has_note_eq?: InputMaybe<Scalars['String']['input']>;\n has_note_equals?: InputMaybe<Scalars['String']['input']>;\n id_eq?: InputMaybe<Scalars['String']['input']>;\n id_equals?: InputMaybe<Scalars['String']['input']>;\n id_gt?: InputMaybe<Scalars['String']['input']>;\n id_gteq?: InputMaybe<Scalars['String']['input']>;\n id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n id_lt?: InputMaybe<Scalars['String']['input']>;\n id_lteq?: InputMaybe<Scalars['String']['input']>;\n id_not_eq?: InputMaybe<Scalars['String']['input']>;\n id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n id_not_null?: InputMaybe<Scalars['String']['input']>;\n id_null?: InputMaybe<Scalars['String']['input']>;\n incrementer_eq?: InputMaybe<Scalars['String']['input']>;\n incrementer_equals?: InputMaybe<Scalars['String']['input']>;\n incrementer_gt?: InputMaybe<Scalars['String']['input']>;\n incrementer_gteq?: InputMaybe<Scalars['String']['input']>;\n incrementer_in?: InputMaybe<Array<Scalars['String']['input']>>;\n incrementer_lt?: InputMaybe<Scalars['String']['input']>;\n incrementer_lteq?: InputMaybe<Scalars['String']['input']>;\n incrementer_not_eq?: InputMaybe<Scalars['String']['input']>;\n incrementer_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n incrementer_not_null?: InputMaybe<Scalars['String']['input']>;\n incrementer_null?: InputMaybe<Scalars['String']['input']>;\n is_disabled_eq?: InputMaybe<Scalars['String']['input']>;\n is_disabled_equals?: InputMaybe<Scalars['String']['input']>;\n kind_eq?: InputMaybe<Scalars['String']['input']>;\n kind_equals?: InputMaybe<Scalars['String']['input']>;\n kind_gt?: InputMaybe<Scalars['String']['input']>;\n kind_gteq?: InputMaybe<Scalars['String']['input']>;\n kind_in?: InputMaybe<Array<Scalars['String']['input']>>;\n kind_lt?: InputMaybe<Scalars['String']['input']>;\n kind_lteq?: InputMaybe<Scalars['String']['input']>;\n kind_not_eq?: InputMaybe<Scalars['String']['input']>;\n kind_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n kind_not_null?: InputMaybe<Scalars['String']['input']>;\n kind_null?: InputMaybe<Scalars['String']['input']>;\n name_cont?: InputMaybe<Scalars['String']['input']>;\n name_contains?: InputMaybe<Scalars['String']['input']>;\n name_en_cont?: InputMaybe<Scalars['String']['input']>;\n name_en_contains?: InputMaybe<Scalars['String']['input']>;\n name_en_end?: InputMaybe<Scalars['String']['input']>;\n name_en_eq?: InputMaybe<Scalars['String']['input']>;\n name_en_equals?: InputMaybe<Scalars['String']['input']>;\n name_en_in?: InputMaybe<Array<Scalars['String']['input']>>;\n name_en_not_eq?: InputMaybe<Scalars['String']['input']>;\n name_en_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n name_en_not_null?: InputMaybe<Scalars['String']['input']>;\n name_en_null?: InputMaybe<Scalars['String']['input']>;\n name_en_start?: InputMaybe<Scalars['String']['input']>;\n name_end?: InputMaybe<Scalars['String']['input']>;\n name_eq?: InputMaybe<Scalars['String']['input']>;\n name_equals?: InputMaybe<Scalars['String']['input']>;\n name_in?: InputMaybe<Array<Scalars['String']['input']>>;\n name_not_eq?: InputMaybe<Scalars['String']['input']>;\n name_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n name_not_null?: InputMaybe<Scalars['String']['input']>;\n name_null?: InputMaybe<Scalars['String']['input']>;\n name_pl_cont?: InputMaybe<Scalars['String']['input']>;\n name_pl_contains?: InputMaybe<Scalars['String']['input']>;\n name_pl_end?: InputMaybe<Scalars['String']['input']>;\n name_pl_eq?: InputMaybe<Scalars['String']['input']>;\n name_pl_equals?: InputMaybe<Scalars['String']['input']>;\n name_pl_in?: InputMaybe<Array<Scalars['String']['input']>>;\n name_pl_not_eq?: InputMaybe<Scalars['String']['input']>;\n name_pl_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n name_pl_not_null?: InputMaybe<Scalars['String']['input']>;\n name_pl_null?: InputMaybe<Scalars['String']['input']>;\n name_pl_start?: InputMaybe<Scalars['String']['input']>;\n name_start?: InputMaybe<Scalars['String']['input']>;\n order_resettable_eq?: InputMaybe<Scalars['String']['input']>;\n order_resettable_equals?: InputMaybe<Scalars['String']['input']>;\n platform_visible_eq?: InputMaybe<Scalars['String']['input']>;\n platform_visible_equals?: InputMaybe<Scalars['String']['input']>;\n position_eq?: InputMaybe<Scalars['String']['input']>;\n position_equals?: InputMaybe<Scalars['String']['input']>;\n position_gt?: InputMaybe<Scalars['String']['input']>;\n position_gteq?: InputMaybe<Scalars['String']['input']>;\n position_in?: InputMaybe<Array<Scalars['String']['input']>>;\n position_lt?: InputMaybe<Scalars['String']['input']>;\n position_lteq?: InputMaybe<Scalars['String']['input']>;\n position_not_eq?: InputMaybe<Scalars['String']['input']>;\n position_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n position_not_null?: InputMaybe<Scalars['String']['input']>;\n position_null?: InputMaybe<Scalars['String']['input']>;\n reason_id_eq?: InputMaybe<Scalars['String']['input']>;\n reason_id_equals?: InputMaybe<Scalars['String']['input']>;\n reason_id_gt?: InputMaybe<Scalars['String']['input']>;\n reason_id_gteq?: InputMaybe<Scalars['String']['input']>;\n reason_id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n reason_id_lt?: InputMaybe<Scalars['String']['input']>;\n reason_id_lteq?: InputMaybe<Scalars['String']['input']>;\n reason_id_not_eq?: InputMaybe<Scalars['String']['input']>;\n reason_id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n reason_id_not_null?: InputMaybe<Scalars['String']['input']>;\n reason_id_null?: InputMaybe<Scalars['String']['input']>;\n reset_point_eq?: InputMaybe<Scalars['String']['input']>;\n reset_point_equals?: InputMaybe<Scalars['String']['input']>;\n reset_point_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n reset_point_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n reset_point_not_null?: InputMaybe<Scalars['String']['input']>;\n reset_point_null?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_eq?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_equals?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_gt?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_gteq?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n subgroup_id_lt?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_lteq?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_not_eq?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n subgroup_id_not_null?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_null?: InputMaybe<Scalars['String']['input']>;\n updated_at_eq?: InputMaybe<Scalars['String']['input']>;\n updated_at_equals?: InputMaybe<Scalars['String']['input']>;\n updated_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n updated_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n updated_at_not_null?: InputMaybe<Scalars['String']['input']>;\n updated_at_null?: InputMaybe<Scalars['String']['input']>;\n uuid_eq?: InputMaybe<Scalars['String']['input']>;\n uuid_equals?: InputMaybe<Scalars['String']['input']>;\n uuid_in?: InputMaybe<Array<Scalars['String']['input']>>;\n uuid_not_eq?: InputMaybe<Scalars['String']['input']>;\n uuid_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n uuid_not_null?: InputMaybe<Scalars['String']['input']>;\n uuid_null?: InputMaybe<Scalars['String']['input']>;\n workplace_id_cont?: InputMaybe<Scalars['String']['input']>;\n workplace_id_contains?: InputMaybe<Scalars['String']['input']>;\n workplace_id_end?: InputMaybe<Scalars['String']['input']>;\n workplace_id_eq?: InputMaybe<Scalars['String']['input']>;\n workplace_id_equals?: InputMaybe<Scalars['String']['input']>;\n workplace_id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n workplace_id_not_eq?: InputMaybe<Scalars['String']['input']>;\n workplace_id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n workplace_id_not_null?: InputMaybe<Scalars['String']['input']>;\n workplace_id_null?: InputMaybe<Scalars['String']['input']>;\n workplace_id_start?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport enum CounterKindEnum {\n Bad = 'bad',\n Good = 'good',\n}\n\n/** Autogenerated return type of CreateDashboard */\nexport type CreateDashboardPayload = {\n __typename?: 'CreateDashboardPayload';\n dashboard?: Maybe<Dashboard>;\n errors?: Maybe<Array<MutationError>>;\n};\n\n/** Autogenerated return type of CreateOrder */\nexport type CreateOrderPayload = {\n __typename?: 'CreateOrderPayload';\n errors?: Maybe<Array<MutationError>>;\n order?: Maybe<Order>;\n};\n\n/** Autogenerated return type of CreateProduct */\nexport type CreateProductPayload = {\n __typename?: 'CreateProductPayload';\n errors?: Maybe<Array<MutationError>>;\n product?: Maybe<Product>;\n};\n\n/** Autogenerated return type of CreateStaffingPlan */\nexport type CreateStaffingPlanPayload = {\n __typename?: 'CreateStaffingPlanPayload';\n errors?: Maybe<Array<MutationError>>;\n staffingPlan?: Maybe<StaffingPlan>;\n};\n\n/** Autogenerated return type of CreateStatusChange */\nexport type CreateStatusChangePayload = {\n __typename?: 'CreateStatusChangePayload';\n errors?: Maybe<Array<MutationError>>;\n statusChange?: Maybe<StatusChange>;\n};\n\n/** Autogenerated return type of CreateUserPresence */\nexport type CreateUserPresencePayload = {\n __typename?: 'CreateUserPresencePayload';\n errors?: Maybe<Array<MutationError>>;\n userPresence?: Maybe<UserPresence>;\n};\n\n/** Autogenerated return type of CreateWidget */\nexport type CreateWidgetPayload = {\n __typename?: 'CreateWidgetPayload';\n errors?: Maybe<Array<MutationError>>;\n widget?: Maybe<Widget>;\n};\n\nexport type Dashboard = {\n __typename?: 'Dashboard';\n filters?: Maybe<Scalars['String']['output']>;\n gridLayout?: Maybe<Scalars['String']['output']>;\n id: Scalars['ID']['output'];\n name: Scalars['String']['output'];\n};\n\nexport type DashboardFilter = {\n company_id_eq?: InputMaybe<Scalars['String']['input']>;\n company_id_equals?: InputMaybe<Scalars['String']['input']>;\n company_id_gt?: InputMaybe<Scalars['String']['input']>;\n company_id_gteq?: InputMaybe<Scalars['String']['input']>;\n company_id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n company_id_lt?: InputMaybe<Scalars['String']['input']>;\n company_id_lteq?: InputMaybe<Scalars['String']['input']>;\n company_id_not_eq?: InputMaybe<Scalars['String']['input']>;\n company_id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n company_id_not_null?: InputMaybe<Scalars['String']['input']>;\n company_id_null?: InputMaybe<Scalars['String']['input']>;\n created_at_eq?: InputMaybe<Scalars['String']['input']>;\n created_at_equals?: InputMaybe<Scalars['String']['input']>;\n created_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n created_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n created_at_not_null?: InputMaybe<Scalars['String']['input']>;\n created_at_null?: InputMaybe<Scalars['String']['input']>;\n deleted_at_eq?: InputMaybe<Scalars['String']['input']>;\n deleted_at_equals?: InputMaybe<Scalars['String']['input']>;\n deleted_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n deleted_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n deleted_at_not_null?: InputMaybe<Scalars['String']['input']>;\n deleted_at_null?: InputMaybe<Scalars['String']['input']>;\n filters_cont?: InputMaybe<Scalars['String']['input']>;\n filters_contains?: InputMaybe<Scalars['String']['input']>;\n filters_end?: InputMaybe<Scalars['String']['input']>;\n filters_eq?: InputMaybe<Scalars['String']['input']>;\n filters_equals?: InputMaybe<Scalars['String']['input']>;\n filters_in?: InputMaybe<Array<Scalars['String']['input']>>;\n filters_not_eq?: InputMaybe<Scalars['String']['input']>;\n filters_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n filters_not_null?: InputMaybe<Scalars['String']['input']>;\n filters_null?: InputMaybe<Scalars['String']['input']>;\n filters_start?: InputMaybe<Scalars['String']['input']>;\n grid_layout_contains?: InputMaybe<Scalars['String']['input']>;\n id_eq?: InputMaybe<Scalars['String']['input']>;\n id_equals?: InputMaybe<Scalars['String']['input']>;\n id_gt?: InputMaybe<Scalars['String']['input']>;\n id_gteq?: InputMaybe<Scalars['String']['input']>;\n id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n id_lt?: InputMaybe<Scalars['String']['input']>;\n id_lteq?: InputMaybe<Scalars['String']['input']>;\n id_not_eq?: InputMaybe<Scalars['String']['input']>;\n id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n id_not_null?: InputMaybe<Scalars['String']['input']>;\n id_null?: InputMaybe<Scalars['String']['input']>;\n name_cont?: InputMaybe<Scalars['String']['input']>;\n name_contains?: InputMaybe<Scalars['String']['input']>;\n name_end?: InputMaybe<Scalars['String']['input']>;\n name_eq?: InputMaybe<Scalars['String']['input']>;\n name_equals?: InputMaybe<Scalars['String']['input']>;\n name_in?: InputMaybe<Array<Scalars['String']['input']>>;\n name_not_eq?: InputMaybe<Scalars['String']['input']>;\n name_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n name_not_null?: InputMaybe<Scalars['String']['input']>;\n name_null?: InputMaybe<Scalars['String']['input']>;\n name_start?: InputMaybe<Scalars['String']['input']>;\n settings_contains?: InputMaybe<Scalars['String']['input']>;\n updated_at_eq?: InputMaybe<Scalars['String']['input']>;\n updated_at_equals?: InputMaybe<Scalars['String']['input']>;\n updated_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n updated_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n updated_at_not_null?: InputMaybe<Scalars['String']['input']>;\n updated_at_null?: InputMaybe<Scalars['String']['input']>;\n uuid_eq?: InputMaybe<Scalars['String']['input']>;\n uuid_equals?: InputMaybe<Scalars['String']['input']>;\n uuid_in?: InputMaybe<Array<Scalars['String']['input']>>;\n uuid_not_eq?: InputMaybe<Scalars['String']['input']>;\n uuid_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n uuid_not_null?: InputMaybe<Scalars['String']['input']>;\n uuid_null?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport enum DayType {\n Calendar = 'CALENDAR',\n Production = 'PRODUCTION',\n}\n\nexport type Department = {\n __typename?: 'Department';\n id: Scalars['ID']['output'];\n name: Scalars['String']['output'];\n};\n\nexport type DepartmentFilter = {\n company_id_eq?: InputMaybe<Scalars['String']['input']>;\n company_id_equals?: InputMaybe<Scalars['String']['input']>;\n company_id_gt?: InputMaybe<Scalars['String']['input']>;\n company_id_gteq?: InputMaybe<Scalars['String']['input']>;\n company_id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n company_id_lt?: InputMaybe<Scalars['String']['input']>;\n company_id_lteq?: InputMaybe<Scalars['String']['input']>;\n company_id_not_eq?: InputMaybe<Scalars['String']['input']>;\n company_id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n company_id_not_null?: InputMaybe<Scalars['String']['input']>;\n company_id_null?: InputMaybe<Scalars['String']['input']>;\n created_at_eq?: InputMaybe<Scalars['String']['input']>;\n created_at_equals?: InputMaybe<Scalars['String']['input']>;\n created_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n created_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n created_at_not_null?: InputMaybe<Scalars['String']['input']>;\n created_at_null?: InputMaybe<Scalars['String']['input']>;\n id_eq?: InputMaybe<Scalars['String']['input']>;\n id_equals?: InputMaybe<Scalars['String']['input']>;\n id_gt?: InputMaybe<Scalars['String']['input']>;\n id_gteq?: InputMaybe<Scalars['String']['input']>;\n id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n id_lt?: InputMaybe<Scalars['String']['input']>;\n id_lteq?: InputMaybe<Scalars['String']['input']>;\n id_not_eq?: InputMaybe<Scalars['String']['input']>;\n id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n id_not_null?: InputMaybe<Scalars['String']['input']>;\n id_null?: InputMaybe<Scalars['String']['input']>;\n name_cont?: InputMaybe<Scalars['String']['input']>;\n name_contains?: InputMaybe<Scalars['String']['input']>;\n name_en_cont?: InputMaybe<Scalars['String']['input']>;\n name_en_contains?: InputMaybe<Scalars['String']['input']>;\n name_en_end?: InputMaybe<Scalars['String']['input']>;\n name_en_eq?: InputMaybe<Scalars['String']['input']>;\n name_en_equals?: InputMaybe<Scalars['String']['input']>;\n name_en_in?: InputMaybe<Array<Scalars['String']['input']>>;\n name_en_not_eq?: InputMaybe<Scalars['String']['input']>;\n name_en_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n name_en_not_null?: InputMaybe<Scalars['String']['input']>;\n name_en_null?: InputMaybe<Scalars['String']['input']>;\n name_en_start?: InputMaybe<Scalars['String']['input']>;\n name_end?: InputMaybe<Scalars['String']['input']>;\n name_eq?: InputMaybe<Scalars['String']['input']>;\n name_equals?: InputMaybe<Scalars['String']['input']>;\n name_in?: InputMaybe<Array<Scalars['String']['input']>>;\n name_not_eq?: InputMaybe<Scalars['String']['input']>;\n name_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n name_not_null?: InputMaybe<Scalars['String']['input']>;\n name_null?: InputMaybe<Scalars['String']['input']>;\n name_pl_cont?: InputMaybe<Scalars['String']['input']>;\n name_pl_contains?: InputMaybe<Scalars['String']['input']>;\n name_pl_end?: InputMaybe<Scalars['String']['input']>;\n name_pl_eq?: InputMaybe<Scalars['String']['input']>;\n name_pl_equals?: InputMaybe<Scalars['String']['input']>;\n name_pl_in?: InputMaybe<Array<Scalars['String']['input']>>;\n name_pl_not_eq?: InputMaybe<Scalars['String']['input']>;\n name_pl_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n name_pl_not_null?: InputMaybe<Scalars['String']['input']>;\n name_pl_null?: InputMaybe<Scalars['String']['input']>;\n name_pl_start?: InputMaybe<Scalars['String']['input']>;\n name_start?: InputMaybe<Scalars['String']['input']>;\n updated_at_eq?: InputMaybe<Scalars['String']['input']>;\n updated_at_equals?: InputMaybe<Scalars['String']['input']>;\n updated_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n updated_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n updated_at_not_null?: InputMaybe<Scalars['String']['input']>;\n updated_at_null?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type DeviceConfig = {\n __typename?: 'DeviceConfig';\n defaultWorkplaceId: Scalars['String']['output'];\n deviceId: Scalars['ID']['output'];\n name: Scalars['String']['output'];\n};\n\nexport type FloorPlan = {\n __typename?: 'FloorPlan';\n id: Scalars['ID']['output'];\n imageUrl: Scalars['String']['output'];\n name: Scalars['String']['output'];\n};\n\nexport type FloorPlanFilter = {\n company_id_eq?: InputMaybe<Scalars['String']['input']>;\n company_id_equals?: InputMaybe<Scalars['String']['input']>;\n company_id_gt?: InputMaybe<Scalars['String']['input']>;\n company_id_gteq?: InputMaybe<Scalars['String']['input']>;\n company_id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n company_id_lt?: InputMaybe<Scalars['String']['input']>;\n company_id_lteq?: InputMaybe<Scalars['String']['input']>;\n company_id_not_eq?: InputMaybe<Scalars['String']['input']>;\n company_id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n company_id_not_null?: InputMaybe<Scalars['String']['input']>;\n company_id_null?: InputMaybe<Scalars['String']['input']>;\n created_at_eq?: InputMaybe<Scalars['String']['input']>;\n created_at_equals?: InputMaybe<Scalars['String']['input']>;\n created_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n created_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n created_at_not_null?: InputMaybe<Scalars['String']['input']>;\n created_at_null?: InputMaybe<Scalars['String']['input']>;\n id_eq?: InputMaybe<Scalars['String']['input']>;\n id_equals?: InputMaybe<Scalars['String']['input']>;\n id_gt?: InputMaybe<Scalars['String']['input']>;\n id_gteq?: InputMaybe<Scalars['String']['input']>;\n id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n id_lt?: InputMaybe<Scalars['String']['input']>;\n id_lteq?: InputMaybe<Scalars['String']['input']>;\n id_not_eq?: InputMaybe<Scalars['String']['input']>;\n id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n id_not_null?: InputMaybe<Scalars['String']['input']>;\n id_null?: InputMaybe<Scalars['String']['input']>;\n name_cont?: InputMaybe<Scalars['String']['input']>;\n name_contains?: InputMaybe<Scalars['String']['input']>;\n name_en_cont?: InputMaybe<Scalars['String']['input']>;\n name_en_contains?: InputMaybe<Scalars['String']['input']>;\n name_en_end?: InputMaybe<Scalars['String']['input']>;\n name_en_eq?: InputMaybe<Scalars['String']['input']>;\n name_en_equals?: InputMaybe<Scalars['String']['input']>;\n name_en_in?: InputMaybe<Array<Scalars['String']['input']>>;\n name_en_not_eq?: InputMaybe<Scalars['String']['input']>;\n name_en_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n name_en_not_null?: InputMaybe<Scalars['String']['input']>;\n name_en_null?: InputMaybe<Scalars['String']['input']>;\n name_en_start?: InputMaybe<Scalars['String']['input']>;\n name_end?: InputMaybe<Scalars['String']['input']>;\n name_eq?: InputMaybe<Scalars['String']['input']>;\n name_equals?: InputMaybe<Scalars['String']['input']>;\n name_in?: InputMaybe<Array<Scalars['String']['input']>>;\n name_not_eq?: InputMaybe<Scalars['String']['input']>;\n name_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n name_not_null?: InputMaybe<Scalars['String']['input']>;\n name_null?: InputMaybe<Scalars['String']['input']>;\n name_pl_cont?: InputMaybe<Scalars['String']['input']>;\n name_pl_contains?: InputMaybe<Scalars['String']['input']>;\n name_pl_end?: InputMaybe<Scalars['String']['input']>;\n name_pl_eq?: InputMaybe<Scalars['String']['input']>;\n name_pl_equals?: InputMaybe<Scalars['String']['input']>;\n name_pl_in?: InputMaybe<Array<Scalars['String']['input']>>;\n name_pl_not_eq?: InputMaybe<Scalars['String']['input']>;\n name_pl_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n name_pl_not_null?: InputMaybe<Scalars['String']['input']>;\n name_pl_null?: InputMaybe<Scalars['String']['input']>;\n name_pl_start?: InputMaybe<Scalars['String']['input']>;\n name_start?: InputMaybe<Scalars['String']['input']>;\n updated_at_eq?: InputMaybe<Scalars['String']['input']>;\n updated_at_equals?: InputMaybe<Scalars['String']['input']>;\n updated_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n updated_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n updated_at_not_null?: InputMaybe<Scalars['String']['input']>;\n updated_at_null?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport enum InsightsAggregation {\n Daily = 'DAILY',\n Hourly = 'HOURLY',\n Monthly = 'MONTHLY',\n Weekly = 'WEEKLY',\n}\n\nexport type Item = {\n __typename?: 'Item';\n count: Scalars['Float']['output'];\n id: Scalars['ID']['output'];\n order: Order;\n product?: Maybe<Product>;\n};\n\nexport type Metric = {\n __typename?: 'Metric';\n id: Scalars['ID']['output'];\n name: Scalars['String']['output'];\n};\n\nexport enum MetricTypeEnum {\n Counter = 'COUNTER',\n Empty = 'EMPTY',\n Indicator = 'INDICATOR',\n Kpi = 'KPI',\n Timer = 'TIMER',\n}\n\nexport enum MetricUnitEnum {\n Duration = 'DURATION',\n Percent = 'PERCENT',\n Round = 'ROUND',\n}\n\nexport type MetricValue = {\n __typename?: 'MetricValue';\n active: Scalars['Boolean']['output'];\n id: Scalars['ID']['output'];\n metricId: Scalars['String']['output'];\n statusColor: AndonLightColor;\n textValue?: Maybe<Scalars['String']['output']>;\n timer?: Maybe<Scalars['Int']['output']>;\n type: MetricTypeEnum;\n unit?: Maybe<MetricUnitEnum>;\n workplaceId: Scalars['String']['output'];\n};\n\nexport type Mutation = {\n __typename?: 'Mutation';\n assignOperatorToWorkplace: AssignOperatorToWorkplacePayload;\n bulkUpsertStaffingPlans: BulkUpsertStaffingPlansPayload;\n createDashboard: CreateDashboardPayload;\n createOrder: CreateOrderPayload;\n createProduct: CreateProductPayload;\n createStaffingPlan: CreateStaffingPlanPayload;\n createStatusChange: CreateStatusChangePayload;\n createUserPresence: CreateUserPresencePayload;\n createWidget: CreateWidgetPayload;\n pauseOrderExecution: PauseOrderExecutionPayload;\n removeDashboard: RemoveDashboardPayload;\n removeStaffingPlan: RemoveStaffingPlanPayload;\n removeUserPresence: RemoveUserPresencePayload;\n removeWidget: RemoveWidgetPayload;\n removeWorkplaceUsersPresences: RemoveWorkplaceUsersPresencesPayload;\n requestFeatureAccess: RequestFeatureAccessMutationPayload;\n setCounter: SetCounterPayload;\n startOrderExecution: StartOrderExecutionPayload;\n startTrial: StartTrialMutationPayload;\n stopOrderExecution: StopOrderExecutionPayload;\n unassignOperatorFromWorkplace: UnassignOperatorFromWorkplacePayload;\n updateDashboard: UpdateDashboardPayload;\n updateNotification: UpdateNotificationPayload;\n updateOrder: UpdateOrderPayload;\n updateOrderExecution: UpdateOrderExecutionPayload;\n updateStaffingPlan: UpdateStaffingPlanPayload;\n updateStatusChange: UpdateStatusChangePayload;\n updateWidget: UpdateWidgetPayload;\n updateWorkOrder: UpdateWorkOrderPayload;\n};\n\nexport type MutationAssignOperatorToWorkplaceArgs = {\n input: AssignOperatorInput;\n};\n\nexport type MutationBulkUpsertStaffingPlansArgs = {\n input: BulkStaffingPlanInput;\n};\n\nexport type MutationCreateDashboardArgs = {\n filters?: InputMaybe<Scalars['String']['input']>;\n gridLayout?: InputMaybe<Scalars['String']['input']>;\n id: Scalars['ID']['input'];\n name: Scalars['String']['input'];\n};\n\nexport type MutationCreateOrderArgs = {\n id: Scalars['ID']['input'];\n number: Scalars['String']['input'];\n};\n\nexport type MutationCreateProductArgs = {\n id: Scalars['ID']['input'];\n name?: InputMaybe<Scalars['String']['input']>;\n number: Scalars['String']['input'];\n};\n\nexport type MutationCreateStaffingPlanArgs = {\n input: StaffingPlanInput;\n};\n\nexport type MutationCreateStatusChangeArgs = {\n id: Scalars['ID']['input'];\n note?: InputMaybe<Scalars['String']['input']>;\n reasonHasBeenRecommended?: InputMaybe<Scalars['Boolean']['input']>;\n reasonId: Scalars['ID']['input'];\n startedAt?: InputMaybe<Scalars['String']['input']>;\n userId?: InputMaybe<Scalars['ID']['input']>;\n workplaceId: Scalars['ID']['input'];\n};\n\nexport type MutationCreateUserPresenceArgs = {\n id: Scalars['ID']['input'];\n userToken: Scalars['String']['input'];\n workplaceId: Scalars['ID']['input'];\n};\n\nexport type MutationCreateWidgetArgs = {\n config?: InputMaybe<Scalars['String']['input']>;\n id: Scalars['ID']['input'];\n};\n\nexport type MutationPauseOrderExecutionArgs = {\n id: Scalars['ID']['input'];\n statusChangeId: Scalars['ID']['input'];\n};\n\nexport type MutationRemoveDashboardArgs = {\n id: Scalars['ID']['input'];\n};\n\nexport type MutationRemoveStaffingPlanArgs = {\n id: Scalars['ID']['input'];\n};\n\nexport type MutationRemoveUserPresenceArgs = {\n id: Scalars['ID']['input'];\n};\n\nexport type MutationRemoveWidgetArgs = {\n id: Scalars['ID']['input'];\n};\n\nexport type MutationRemoveWorkplaceUsersPresencesArgs = {\n workplaceId: Scalars['ID']['input'];\n};\n\nexport type MutationRequestFeatureAccessArgs = {\n input: RequestFeatureAccessInput;\n};\n\nexport type MutationSetCounterArgs = {\n id: Scalars['ID']['input'];\n note?: InputMaybe<Scalars['String']['input']>;\n orderExecutionId?: InputMaybe<Scalars['ID']['input']>;\n value: Scalars['Float']['input'];\n};\n\nexport type MutationStartOrderExecutionArgs = {\n id: Scalars['ID']['input'];\n itemCount?: InputMaybe<Scalars['Float']['input']>;\n order: OrderInput;\n product?: InputMaybe<ProductInput>;\n statusChangeId: Scalars['ID']['input'];\n workplaceId: Scalars['ID']['input'];\n};\n\nexport type MutationStartTrialArgs = {\n input: StartTrialInput;\n};\n\nexport type MutationStopOrderExecutionArgs = {\n id: Scalars['ID']['input'];\n statusChangeId: Scalars['ID']['input'];\n};\n\nexport type MutationUnassignOperatorFromWorkplaceArgs = {\n input: UnassignOperatorInput;\n};\n\nexport type MutationUpdateDashboardArgs = {\n filters?: InputMaybe<Scalars['String']['input']>;\n gridLayout: Scalars['String']['input'];\n id: Scalars['ID']['input'];\n name?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type MutationUpdateNotificationArgs = {\n id: Scalars['ID']['input'];\n status: Scalars['String']['input'];\n};\n\nexport type MutationUpdateOrderArgs = {\n input: UpdateOrderInput;\n};\n\nexport type MutationUpdateOrderExecutionArgs = {\n id: Scalars['ID']['input'];\n standardRateId: Scalars['ID']['input'];\n};\n\nexport type MutationUpdateStaffingPlanArgs = {\n input: StaffingPlanUpdateInput;\n};\n\nexport type MutationUpdateStatusChangeArgs = {\n input: UpdateStatusChangeInput;\n};\n\nexport type MutationUpdateWidgetArgs = {\n config: Scalars['String']['input'];\n id: Scalars['ID']['input'];\n};\n\nexport type MutationUpdateWorkOrderArgs = {\n id: Scalars['ID']['input'];\n input: UpdateWorkOrderInput;\n};\n\nexport type MutationError = {\n __typename?: 'MutationError';\n field?: Maybe<Scalars['String']['output']>;\n messages: Array<Scalars['String']['output']>;\n};\n\nexport type Notification = {\n __typename?: 'Notification';\n channel?: Maybe<Scalars['String']['output']>;\n details?: Maybe<Scalars['String']['output']>;\n emitterId: Scalars['String']['output'];\n emitterType: Scalars['String']['output'];\n id: Scalars['ID']['output'];\n message: Scalars['String']['output'];\n receiverId: Scalars['String']['output'];\n receiverType: Scalars['String']['output'];\n status?: Maybe<Scalars['String']['output']>;\n};\n\nexport type NotificationFilter = {\n channel_eq?: InputMaybe<Scalars['String']['input']>;\n channel_equals?: InputMaybe<Scalars['String']['input']>;\n channel_gt?: InputMaybe<Scalars['String']['input']>;\n channel_gteq?: InputMaybe<Scalars['String']['input']>;\n channel_in?: InputMaybe<Array<Scalars['String']['input']>>;\n channel_lt?: InputMaybe<Scalars['String']['input']>;\n channel_lteq?: InputMaybe<Scalars['String']['input']>;\n channel_not_eq?: InputMaybe<Scalars['String']['input']>;\n channel_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n channel_not_null?: InputMaybe<Scalars['String']['input']>;\n channel_null?: InputMaybe<Scalars['String']['input']>;\n company_id_eq?: InputMaybe<Scalars['String']['input']>;\n company_id_equals?: InputMaybe<Scalars['String']['input']>;\n company_id_gt?: InputMaybe<Scalars['String']['input']>;\n company_id_gteq?: InputMaybe<Scalars['String']['input']>;\n company_id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n company_id_lt?: InputMaybe<Scalars['String']['input']>;\n company_id_lteq?: InputMaybe<Scalars['String']['input']>;\n company_id_not_eq?: InputMaybe<Scalars['String']['input']>;\n company_id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n company_id_not_null?: InputMaybe<Scalars['String']['input']>;\n company_id_null?: InputMaybe<Scalars['String']['input']>;\n created_at_eq?: InputMaybe<Scalars['String']['input']>;\n created_at_equals?: InputMaybe<Scalars['String']['input']>;\n created_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n created_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n created_at_not_null?: InputMaybe<Scalars['String']['input']>;\n created_at_null?: InputMaybe<Scalars['String']['input']>;\n details_cont?: InputMaybe<Scalars['String']['input']>;\n details_contains?: InputMaybe<Scalars['String']['input']>;\n details_end?: InputMaybe<Scalars['String']['input']>;\n details_eq?: InputMaybe<Scalars['String']['input']>;\n details_equals?: InputMaybe<Scalars['String']['input']>;\n details_in?: InputMaybe<Array<Scalars['String']['input']>>;\n details_not_eq?: InputMaybe<Scalars['String']['input']>;\n details_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n details_not_null?: InputMaybe<Scalars['String']['input']>;\n details_null?: InputMaybe<Scalars['String']['input']>;\n details_start?: InputMaybe<Scalars['String']['input']>;\n emitter_id_eq?: InputMaybe<Scalars['String']['input']>;\n emitter_id_equals?: InputMaybe<Scalars['String']['input']>;\n emitter_id_gt?: InputMaybe<Scalars['String']['input']>;\n emitter_id_gteq?: InputMaybe<Scalars['String']['input']>;\n emitter_id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n emitter_id_lt?: InputMaybe<Scalars['String']['input']>;\n emitter_id_lteq?: InputMaybe<Scalars['String']['input']>;\n emitter_id_not_eq?: InputMaybe<Scalars['String']['input']>;\n emitter_id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n emitter_id_not_null?: InputMaybe<Scalars['String']['input']>;\n emitter_id_null?: InputMaybe<Scalars['String']['input']>;\n emitter_type_cont?: InputMaybe<Scalars['String']['input']>;\n emitter_type_contains?: InputMaybe<Scalars['String']['input']>;\n emitter_type_end?: InputMaybe<Scalars['String']['input']>;\n emitter_type_eq?: InputMaybe<Scalars['String']['input']>;\n emitter_type_equals?: InputMaybe<Scalars['String']['input']>;\n emitter_type_in?: InputMaybe<Array<Scalars['String']['input']>>;\n emitter_type_not_eq?: InputMaybe<Scalars['String']['input']>;\n emitter_type_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n emitter_type_not_null?: InputMaybe<Scalars['String']['input']>;\n emitter_type_null?: InputMaybe<Scalars['String']['input']>;\n emitter_type_start?: InputMaybe<Scalars['String']['input']>;\n id_eq?: InputMaybe<Scalars['String']['input']>;\n id_equals?: InputMaybe<Scalars['String']['input']>;\n id_gt?: InputMaybe<Scalars['String']['input']>;\n id_gteq?: InputMaybe<Scalars['String']['input']>;\n id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n id_lt?: InputMaybe<Scalars['String']['input']>;\n id_lteq?: InputMaybe<Scalars['String']['input']>;\n id_not_eq?: InputMaybe<Scalars['String']['input']>;\n id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n id_not_null?: InputMaybe<Scalars['String']['input']>;\n id_null?: InputMaybe<Scalars['String']['input']>;\n message_cont?: InputMaybe<Scalars['String']['input']>;\n message_contains?: InputMaybe<Scalars['String']['input']>;\n message_end?: InputMaybe<Scalars['String']['input']>;\n message_eq?: InputMaybe<Scalars['String']['input']>;\n message_equals?: InputMaybe<Scalars['String']['input']>;\n message_in?: InputMaybe<Array<Scalars['String']['input']>>;\n message_not_eq?: InputMaybe<Scalars['String']['input']>;\n message_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n message_not_null?: InputMaybe<Scalars['String']['input']>;\n message_null?: InputMaybe<Scalars['String']['input']>;\n message_start?: InputMaybe<Scalars['String']['input']>;\n message_symbol_cont?: InputMaybe<Scalars['String']['input']>;\n message_symbol_contains?: InputMaybe<Scalars['String']['input']>;\n message_symbol_end?: InputMaybe<Scalars['String']['input']>;\n message_symbol_eq?: InputMaybe<Scalars['String']['input']>;\n message_symbol_equals?: InputMaybe<Scalars['String']['input']>;\n message_symbol_in?: InputMaybe<Array<Scalars['String']['input']>>;\n message_symbol_not_eq?: InputMaybe<Scalars['String']['input']>;\n message_symbol_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n message_symbol_not_null?: InputMaybe<Scalars['String']['input']>;\n message_symbol_null?: InputMaybe<Scalars['String']['input']>;\n message_symbol_start?: InputMaybe<Scalars['String']['input']>;\n message_variables_contains?: InputMaybe<Scalars['String']['input']>;\n receiver_id_eq?: InputMaybe<Scalars['String']['input']>;\n receiver_id_equals?: InputMaybe<Scalars['String']['input']>;\n receiver_id_gt?: InputMaybe<Scalars['String']['input']>;\n receiver_id_gteq?: InputMaybe<Scalars['String']['input']>;\n receiver_id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n receiver_id_lt?: InputMaybe<Scalars['String']['input']>;\n receiver_id_lteq?: InputMaybe<Scalars['String']['input']>;\n receiver_id_not_eq?: InputMaybe<Scalars['String']['input']>;\n receiver_id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n receiver_id_not_null?: InputMaybe<Scalars['String']['input']>;\n receiver_id_null?: InputMaybe<Scalars['String']['input']>;\n receiver_type_cont?: InputMaybe<Scalars['String']['input']>;\n receiver_type_contains?: InputMaybe<Scalars['String']['input']>;\n receiver_type_end?: InputMaybe<Scalars['String']['input']>;\n receiver_type_eq?: InputMaybe<Scalars['String']['input']>;\n receiver_type_equals?: InputMaybe<Scalars['String']['input']>;\n receiver_type_in?: InputMaybe<Array<Scalars['String']['input']>>;\n receiver_type_not_eq?: InputMaybe<Scalars['String']['input']>;\n receiver_type_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n receiver_type_not_null?: InputMaybe<Scalars['String']['input']>;\n receiver_type_null?: InputMaybe<Scalars['String']['input']>;\n receiver_type_start?: InputMaybe<Scalars['String']['input']>;\n status_eq?: InputMaybe<Scalars['String']['input']>;\n status_equals?: InputMaybe<Scalars['String']['input']>;\n status_gt?: InputMaybe<Scalars['String']['input']>;\n status_gteq?: InputMaybe<Scalars['String']['input']>;\n status_in?: InputMaybe<Array<Scalars['String']['input']>>;\n status_lt?: InputMaybe<Scalars['String']['input']>;\n status_lteq?: InputMaybe<Scalars['String']['input']>;\n status_not_eq?: InputMaybe<Scalars['String']['input']>;\n status_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n status_not_null?: InputMaybe<Scalars['String']['input']>;\n status_null?: InputMaybe<Scalars['String']['input']>;\n updated_at_eq?: InputMaybe<Scalars['String']['input']>;\n updated_at_equals?: InputMaybe<Scalars['String']['input']>;\n updated_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n updated_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n updated_at_not_null?: InputMaybe<Scalars['String']['input']>;\n updated_at_null?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type Order = {\n __typename?: 'Order';\n executedCount: Scalars['Int']['output'];\n finishedAt?: Maybe<Scalars['String']['output']>;\n id: Scalars['ID']['output'];\n items: Array<Item>;\n note?: Maybe<Scalars['String']['output']>;\n number: Scalars['String']['output'];\n plannedCount: Scalars['Int']['output'];\n position?: Maybe<Scalars['Int']['output']>;\n startedAt?: Maybe<Scalars['String']['output']>;\n workplaces: Array<Workplace>;\n};\n\nexport type OrderConfig = {\n __typename?: 'OrderConfig';\n alternativeName: Scalars['Boolean']['output'];\n numberPrefix?: Maybe<Scalars['String']['output']>;\n numberRegexp?: Maybe<Scalars['String']['output']>;\n};\n\nexport type OrderExecution = {\n __typename?: 'OrderExecution';\n finishedAt?: Maybe<Scalars['String']['output']>;\n id: Scalars['ID']['output'];\n item?: Maybe<Item>;\n itemCount?: Maybe<Scalars['Float']['output']>;\n note?: Maybe<Scalars['String']['output']>;\n order: Order;\n product?: Maybe<Product>;\n standardRateMismatched: Scalars['Boolean']['output'];\n startedAt: Scalars['String']['output'];\n workplaceId: Scalars['String']['output'];\n};\n\nexport type OrderExecutionConfig = {\n __typename?: 'OrderExecutionConfig';\n afterPauseReasonId?: Maybe<Scalars['String']['output']>;\n afterStartReasonId?: Maybe<Scalars['String']['output']>;\n afterStopReasonId?: Maybe<Scalars['String']['output']>;\n featureEnabled: Scalars['Boolean']['output'];\n formOrderFields: Array<Scalars['String']['output']>;\n formProductFields: Array<Scalars['String']['output']>;\n formQuantityFields: Array<Scalars['String']['output']>;\n itemCountUnit: Scalars['String']['output'];\n noPlanCanCreateOrderNote?: Maybe<Scalars['String']['output']>;\n noPlanNeedVerificationNote?: Maybe<Scalars['String']['output']>;\n orderInternalNoteText?: Maybe<Scalars['String']['output']>;\n orderInternalNoteTitle?: Maybe<Scalars['String']['output']>;\n productInternalNoteText?: Maybe<Scalars['String']['output']>;\n productInternalNoteTitle?: Maybe<Scalars['String']['output']>;\n quantityInternalNoteText?: Maybe<Scalars['String']['output']>;\n quantityInternalNoteTitle?: Maybe<Scalars['String']['output']>;\n stopEnabled: Scalars['Boolean']['output'];\n};\n\nexport type OrderExecutionFilter = {\n company_id_eq?: InputMaybe<Scalars['String']['input']>;\n company_id_equals?: InputMaybe<Scalars['String']['input']>;\n company_id_gt?: InputMaybe<Scalars['String']['input']>;\n company_id_gteq?: InputMaybe<Scalars['String']['input']>;\n company_id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n company_id_lt?: InputMaybe<Scalars['String']['input']>;\n company_id_lteq?: InputMaybe<Scalars['String']['input']>;\n company_id_not_eq?: InputMaybe<Scalars['String']['input']>;\n company_id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n company_id_not_null?: InputMaybe<Scalars['String']['input']>;\n company_id_null?: InputMaybe<Scalars['String']['input']>;\n created_at_eq?: InputMaybe<Scalars['String']['input']>;\n created_at_equals?: InputMaybe<Scalars['String']['input']>;\n created_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n created_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n created_at_not_null?: InputMaybe<Scalars['String']['input']>;\n created_at_null?: InputMaybe<Scalars['String']['input']>;\n deleted_at_eq?: InputMaybe<Scalars['String']['input']>;\n deleted_at_equals?: InputMaybe<Scalars['String']['input']>;\n deleted_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n deleted_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n deleted_at_not_null?: InputMaybe<Scalars['String']['input']>;\n deleted_at_null?: InputMaybe<Scalars['String']['input']>;\n finished_at_eq?: InputMaybe<Scalars['String']['input']>;\n finished_at_equals?: InputMaybe<Scalars['String']['input']>;\n finished_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n finished_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n finished_at_not_null?: InputMaybe<Scalars['String']['input']>;\n finished_at_null?: InputMaybe<Scalars['String']['input']>;\n id_eq?: InputMaybe<Scalars['String']['input']>;\n id_equals?: InputMaybe<Scalars['String']['input']>;\n id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n id_not_eq?: InputMaybe<Scalars['String']['input']>;\n id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n id_not_null?: InputMaybe<Scalars['String']['input']>;\n id_null?: InputMaybe<Scalars['String']['input']>;\n note_cont?: InputMaybe<Scalars['String']['input']>;\n note_contains?: InputMaybe<Scalars['String']['input']>;\n note_end?: InputMaybe<Scalars['String']['input']>;\n note_eq?: InputMaybe<Scalars['String']['input']>;\n note_equals?: InputMaybe<Scalars['String']['input']>;\n note_in?: InputMaybe<Array<Scalars['String']['input']>>;\n note_not_eq?: InputMaybe<Scalars['String']['input']>;\n note_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n note_not_null?: InputMaybe<Scalars['String']['input']>;\n note_null?: InputMaybe<Scalars['String']['input']>;\n note_start?: InputMaybe<Scalars['String']['input']>;\n order_id_eq?: InputMaybe<Scalars['String']['input']>;\n order_id_equals?: InputMaybe<Scalars['String']['input']>;\n order_id_gt?: InputMaybe<Scalars['String']['input']>;\n order_id_gteq?: InputMaybe<Scalars['String']['input']>;\n order_id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n order_id_lt?: InputMaybe<Scalars['String']['input']>;\n order_id_lteq?: InputMaybe<Scalars['String']['input']>;\n order_id_not_eq?: InputMaybe<Scalars['String']['input']>;\n order_id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n order_id_not_null?: InputMaybe<Scalars['String']['input']>;\n order_id_null?: InputMaybe<Scalars['String']['input']>;\n period?: InputMaybe<Period>;\n product_id_eq?: InputMaybe<Scalars['String']['input']>;\n product_id_equals?: InputMaybe<Scalars['String']['input']>;\n product_id_gt?: InputMaybe<Scalars['String']['input']>;\n product_id_gteq?: InputMaybe<Scalars['String']['input']>;\n product_id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n product_id_lt?: InputMaybe<Scalars['String']['input']>;\n product_id_lteq?: InputMaybe<Scalars['String']['input']>;\n product_id_not_eq?: InputMaybe<Scalars['String']['input']>;\n product_id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n product_id_not_null?: InputMaybe<Scalars['String']['input']>;\n product_id_null?: InputMaybe<Scalars['String']['input']>;\n quantity_eq?: InputMaybe<Scalars['String']['input']>;\n quantity_equals?: InputMaybe<Scalars['String']['input']>;\n quantity_gt?: InputMaybe<Scalars['String']['input']>;\n quantity_gteq?: InputMaybe<Scalars['String']['input']>;\n quantity_in?: InputMaybe<Array<Scalars['String']['input']>>;\n quantity_lt?: InputMaybe<Scalars['String']['input']>;\n quantity_lteq?: InputMaybe<Scalars['String']['input']>;\n quantity_not_eq?: InputMaybe<Scalars['String']['input']>;\n quantity_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n quantity_not_null?: InputMaybe<Scalars['String']['input']>;\n quantity_null?: InputMaybe<Scalars['String']['input']>;\n standard_rate_id_eq?: InputMaybe<Scalars['String']['input']>;\n standard_rate_id_equals?: InputMaybe<Scalars['String']['input']>;\n standard_rate_id_gt?: InputMaybe<Scalars['String']['input']>;\n standard_rate_id_gteq?: InputMaybe<Scalars['String']['input']>;\n standard_rate_id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n standard_rate_id_lt?: InputMaybe<Scalars['String']['input']>;\n standard_rate_id_lteq?: InputMaybe<Scalars['String']['input']>;\n standard_rate_id_not_eq?: InputMaybe<Scalars['String']['input']>;\n standard_rate_id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n standard_rate_id_not_null?: InputMaybe<Scalars['String']['input']>;\n standard_rate_id_null?: InputMaybe<Scalars['String']['input']>;\n started_at_eq?: InputMaybe<Scalars['String']['input']>;\n started_at_equals?: InputMaybe<Scalars['String']['input']>;\n started_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n started_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n started_at_not_null?: InputMaybe<Scalars['String']['input']>;\n started_at_null?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_eq?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_equals?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_gt?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_gteq?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n subgroup_id_lt?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_lteq?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_not_eq?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n subgroup_id_not_null?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_null?: InputMaybe<Scalars['String']['input']>;\n updated_at_eq?: InputMaybe<Scalars['String']['input']>;\n updated_at_equals?: InputMaybe<Scalars['String']['input']>;\n updated_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n updated_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n updated_at_not_null?: InputMaybe<Scalars['String']['input']>;\n updated_at_null?: InputMaybe<Scalars['String']['input']>;\n workplace_id_cont?: InputMaybe<Scalars['String']['input']>;\n workplace_id_contains?: InputMaybe<Scalars['String']['input']>;\n workplace_id_end?: InputMaybe<Scalars['String']['input']>;\n workplace_id_eq?: InputMaybe<Scalars['String']['input']>;\n workplace_id_equals?: InputMaybe<Scalars['String']['input']>;\n workplace_id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n workplace_id_not_eq?: InputMaybe<Scalars['String']['input']>;\n workplace_id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n workplace_id_not_null?: InputMaybe<Scalars['String']['input']>;\n workplace_id_null?: InputMaybe<Scalars['String']['input']>;\n workplace_id_start?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type OrderFilter = {\n closure_reason_eq?: InputMaybe<Scalars['String']['input']>;\n closure_reason_equals?: InputMaybe<Scalars['String']['input']>;\n closure_reason_gt?: InputMaybe<Scalars['String']['input']>;\n closure_reason_gteq?: InputMaybe<Scalars['String']['input']>;\n closure_reason_in?: InputMaybe<Array<Scalars['String']['input']>>;\n closure_reason_lt?: InputMaybe<Scalars['String']['input']>;\n closure_reason_lteq?: InputMaybe<Scalars['String']['input']>;\n closure_reason_not_eq?: InputMaybe<Scalars['String']['input']>;\n closure_reason_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n closure_reason_not_null?: InputMaybe<Scalars['String']['input']>;\n closure_reason_null?: InputMaybe<Scalars['String']['input']>;\n company_id_eq?: InputMaybe<Scalars['String']['input']>;\n company_id_equals?: InputMaybe<Scalars['String']['input']>;\n company_id_gt?: InputMaybe<Scalars['String']['input']>;\n company_id_gteq?: InputMaybe<Scalars['String']['input']>;\n company_id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n company_id_lt?: InputMaybe<Scalars['String']['input']>;\n company_id_lteq?: InputMaybe<Scalars['String']['input']>;\n company_id_not_eq?: InputMaybe<Scalars['String']['input']>;\n company_id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n company_id_not_null?: InputMaybe<Scalars['String']['input']>;\n company_id_null?: InputMaybe<Scalars['String']['input']>;\n created_at_eq?: InputMaybe<Scalars['String']['input']>;\n created_at_equals?: InputMaybe<Scalars['String']['input']>;\n created_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n created_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n created_at_not_null?: InputMaybe<Scalars['String']['input']>;\n created_at_null?: InputMaybe<Scalars['String']['input']>;\n deleted_at_eq?: InputMaybe<Scalars['String']['input']>;\n deleted_at_equals?: InputMaybe<Scalars['String']['input']>;\n deleted_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n deleted_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n deleted_at_not_null?: InputMaybe<Scalars['String']['input']>;\n deleted_at_null?: InputMaybe<Scalars['String']['input']>;\n finished_at_eq?: InputMaybe<Scalars['String']['input']>;\n finished_at_equals?: InputMaybe<Scalars['String']['input']>;\n finished_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n finished_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n finished_at_not_null?: InputMaybe<Scalars['String']['input']>;\n finished_at_null?: InputMaybe<Scalars['String']['input']>;\n id_eq?: InputMaybe<Scalars['String']['input']>;\n id_equals?: InputMaybe<Scalars['String']['input']>;\n id_gt?: InputMaybe<Scalars['String']['input']>;\n id_gteq?: InputMaybe<Scalars['String']['input']>;\n id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n id_lt?: InputMaybe<Scalars['String']['input']>;\n id_lteq?: InputMaybe<Scalars['String']['input']>;\n id_not_eq?: InputMaybe<Scalars['String']['input']>;\n id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n id_not_null?: InputMaybe<Scalars['String']['input']>;\n id_null?: InputMaybe<Scalars['String']['input']>;\n item_count_eq?: InputMaybe<Scalars['String']['input']>;\n item_count_equals?: InputMaybe<Scalars['String']['input']>;\n item_count_gt?: InputMaybe<Scalars['String']['input']>;\n item_count_gteq?: InputMaybe<Scalars['String']['input']>;\n item_count_in?: InputMaybe<Array<Scalars['String']['input']>>;\n item_count_lt?: InputMaybe<Scalars['String']['input']>;\n item_count_lteq?: InputMaybe<Scalars['String']['input']>;\n item_count_not_eq?: InputMaybe<Scalars['String']['input']>;\n item_count_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n item_count_not_null?: InputMaybe<Scalars['String']['input']>;\n item_count_null?: InputMaybe<Scalars['String']['input']>;\n item_number_cont?: InputMaybe<Scalars['String']['input']>;\n item_number_contains?: InputMaybe<Scalars['String']['input']>;\n item_number_end?: InputMaybe<Scalars['String']['input']>;\n item_number_eq?: InputMaybe<Scalars['String']['input']>;\n item_number_equals?: InputMaybe<Scalars['String']['input']>;\n item_number_in?: InputMaybe<Array<Scalars['String']['input']>>;\n item_number_not_eq?: InputMaybe<Scalars['String']['input']>;\n item_number_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n item_number_not_null?: InputMaybe<Scalars['String']['input']>;\n item_number_null?: InputMaybe<Scalars['String']['input']>;\n item_number_start?: InputMaybe<Scalars['String']['input']>;\n last_production_activity_at_eq?: InputMaybe<Scalars['String']['input']>;\n last_production_activity_at_equals?: InputMaybe<Scalars['String']['input']>;\n last_production_activity_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n last_production_activity_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n last_production_activity_at_not_null?: InputMaybe<Scalars['String']['input']>;\n last_production_activity_at_null?: InputMaybe<Scalars['String']['input']>;\n note_cont?: InputMaybe<Scalars['String']['input']>;\n note_contains?: InputMaybe<Scalars['String']['input']>;\n note_end?: InputMaybe<Scalars['String']['input']>;\n note_eq?: InputMaybe<Scalars['String']['input']>;\n note_equals?: InputMaybe<Scalars['String']['input']>;\n note_in?: InputMaybe<Array<Scalars['String']['input']>>;\n note_not_eq?: InputMaybe<Scalars['String']['input']>;\n note_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n note_not_null?: InputMaybe<Scalars['String']['input']>;\n note_null?: InputMaybe<Scalars['String']['input']>;\n note_start?: InputMaybe<Scalars['String']['input']>;\n order_number_cont?: InputMaybe<Scalars['String']['input']>;\n order_number_contains?: InputMaybe<Scalars['String']['input']>;\n order_number_end?: InputMaybe<Scalars['String']['input']>;\n order_number_eq?: InputMaybe<Scalars['String']['input']>;\n order_number_equals?: InputMaybe<Scalars['String']['input']>;\n order_number_in?: InputMaybe<Array<Scalars['String']['input']>>;\n order_number_not_eq?: InputMaybe<Scalars['String']['input']>;\n order_number_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n order_number_not_null?: InputMaybe<Scalars['String']['input']>;\n order_number_null?: InputMaybe<Scalars['String']['input']>;\n order_number_start?: InputMaybe<Scalars['String']['input']>;\n position_eq?: InputMaybe<Scalars['String']['input']>;\n position_equals?: InputMaybe<Scalars['String']['input']>;\n position_gt?: InputMaybe<Scalars['String']['input']>;\n position_gteq?: InputMaybe<Scalars['String']['input']>;\n position_in?: InputMaybe<Array<Scalars['String']['input']>>;\n position_lt?: InputMaybe<Scalars['String']['input']>;\n position_lteq?: InputMaybe<Scalars['String']['input']>;\n position_not_eq?: InputMaybe<Scalars['String']['input']>;\n position_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n position_not_null?: InputMaybe<Scalars['String']['input']>;\n position_null?: InputMaybe<Scalars['String']['input']>;\n product_number_cont?: InputMaybe<Scalars['String']['input']>;\n product_number_contains?: InputMaybe<Scalars['String']['input']>;\n product_number_end?: InputMaybe<Scalars['String']['input']>;\n product_number_eq?: InputMaybe<Scalars['String']['input']>;\n product_number_equals?: InputMaybe<Scalars['String']['input']>;\n product_number_in?: InputMaybe<Array<Scalars['String']['input']>>;\n product_number_not_eq?: InputMaybe<Scalars['String']['input']>;\n product_number_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n product_number_not_null?: InputMaybe<Scalars['String']['input']>;\n product_number_null?: InputMaybe<Scalars['String']['input']>;\n product_number_start?: InputMaybe<Scalars['String']['input']>;\n product_sap_number_cont?: InputMaybe<Scalars['String']['input']>;\n product_sap_number_contains?: InputMaybe<Scalars['String']['input']>;\n product_sap_number_end?: InputMaybe<Scalars['String']['input']>;\n product_sap_number_eq?: InputMaybe<Scalars['String']['input']>;\n product_sap_number_equals?: InputMaybe<Scalars['String']['input']>;\n product_sap_number_in?: InputMaybe<Array<Scalars['String']['input']>>;\n product_sap_number_not_eq?: InputMaybe<Scalars['String']['input']>;\n product_sap_number_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n product_sap_number_not_null?: InputMaybe<Scalars['String']['input']>;\n product_sap_number_null?: InputMaybe<Scalars['String']['input']>;\n product_sap_number_start?: InputMaybe<Scalars['String']['input']>;\n sap_number_cont?: InputMaybe<Scalars['String']['input']>;\n sap_number_contains?: InputMaybe<Scalars['String']['input']>;\n sap_number_end?: InputMaybe<Scalars['String']['input']>;\n sap_number_eq?: InputMaybe<Scalars['String']['input']>;\n sap_number_equals?: InputMaybe<Scalars['String']['input']>;\n sap_number_in?: InputMaybe<Array<Scalars['String']['input']>>;\n sap_number_not_eq?: InputMaybe<Scalars['String']['input']>;\n sap_number_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n sap_number_not_null?: InputMaybe<Scalars['String']['input']>;\n sap_number_null?: InputMaybe<Scalars['String']['input']>;\n sap_number_start?: InputMaybe<Scalars['String']['input']>;\n started_at_eq?: InputMaybe<Scalars['String']['input']>;\n started_at_equals?: InputMaybe<Scalars['String']['input']>;\n started_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n started_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n started_at_not_null?: InputMaybe<Scalars['String']['input']>;\n started_at_null?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_eq?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_equals?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_gt?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_gteq?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n subgroup_id_lt?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_lteq?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_not_eq?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n subgroup_id_not_null?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_null?: InputMaybe<Scalars['String']['input']>;\n updated_at_eq?: InputMaybe<Scalars['String']['input']>;\n updated_at_equals?: InputMaybe<Scalars['String']['input']>;\n updated_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n updated_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n updated_at_not_null?: InputMaybe<Scalars['String']['input']>;\n updated_at_null?: InputMaybe<Scalars['String']['input']>;\n user_id_eq?: InputMaybe<Scalars['String']['input']>;\n user_id_equals?: InputMaybe<Scalars['String']['input']>;\n user_id_gt?: InputMaybe<Scalars['String']['input']>;\n user_id_gteq?: InputMaybe<Scalars['String']['input']>;\n user_id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n user_id_lt?: InputMaybe<Scalars['String']['input']>;\n user_id_lteq?: InputMaybe<Scalars['String']['input']>;\n user_id_not_eq?: InputMaybe<Scalars['String']['input']>;\n user_id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n user_id_not_null?: InputMaybe<Scalars['String']['input']>;\n user_id_null?: InputMaybe<Scalars['String']['input']>;\n uuid_eq?: InputMaybe<Scalars['String']['input']>;\n uuid_equals?: InputMaybe<Scalars['String']['input']>;\n uuid_in?: InputMaybe<Array<Scalars['String']['input']>>;\n uuid_not_eq?: InputMaybe<Scalars['String']['input']>;\n uuid_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n uuid_not_null?: InputMaybe<Scalars['String']['input']>;\n uuid_null?: InputMaybe<Scalars['String']['input']>;\n workplaces_id_eq?: InputMaybe<Scalars['String']['input']>;\n workplaces_id_equals?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type OrderInput = {\n id: Scalars['ID']['input'];\n number: Scalars['String']['input'];\n};\n\n/** Autogenerated return type of PauseOrderExecution */\nexport type PauseOrderExecutionPayload = {\n __typename?: 'PauseOrderExecutionPayload';\n errors?: Maybe<Array<MutationError>>;\n orderExecution?: Maybe<OrderExecution>;\n};\n\nexport enum Period {\n CurrentShift = 'CURRENT_SHIFT',\n LastShift = 'LAST_SHIFT',\n}\n\nexport enum PresenceStatusEnum {\n NotPresent = 'NOT_PRESENT',\n Present = 'PRESENT',\n PresentElsewhere = 'PRESENT_ELSEWHERE',\n}\n\nexport type Product = {\n __typename?: 'Product';\n assemblyManual?: Maybe<Scalars['String']['output']>;\n id: Scalars['ID']['output'];\n name?: Maybe<Scalars['String']['output']>;\n number?: Maybe<Scalars['String']['output']>;\n};\n\nexport type ProductConfig = {\n __typename?: 'ProductConfig';\n alternativeName: Scalars['Boolean']['output'];\n numberPrefix?: Maybe<Scalars['String']['output']>;\n numberRegexp?: Maybe<Scalars['String']['output']>;\n};\n\nexport type ProductFilter = {\n company_id_eq?: InputMaybe<Scalars['String']['input']>;\n company_id_equals?: InputMaybe<Scalars['String']['input']>;\n company_id_gt?: InputMaybe<Scalars['String']['input']>;\n company_id_gteq?: InputMaybe<Scalars['String']['input']>;\n company_id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n company_id_lt?: InputMaybe<Scalars['String']['input']>;\n company_id_lteq?: InputMaybe<Scalars['String']['input']>;\n company_id_not_eq?: InputMaybe<Scalars['String']['input']>;\n company_id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n company_id_not_null?: InputMaybe<Scalars['String']['input']>;\n company_id_null?: InputMaybe<Scalars['String']['input']>;\n created_at_eq?: InputMaybe<Scalars['String']['input']>;\n created_at_equals?: InputMaybe<Scalars['String']['input']>;\n created_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n created_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n created_at_not_null?: InputMaybe<Scalars['String']['input']>;\n created_at_null?: InputMaybe<Scalars['String']['input']>;\n deleted_at_eq?: InputMaybe<Scalars['String']['input']>;\n deleted_at_equals?: InputMaybe<Scalars['String']['input']>;\n deleted_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n deleted_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n deleted_at_not_null?: InputMaybe<Scalars['String']['input']>;\n deleted_at_null?: InputMaybe<Scalars['String']['input']>;\n id_eq?: InputMaybe<Scalars['String']['input']>;\n id_equals?: InputMaybe<Scalars['String']['input']>;\n id_gt?: InputMaybe<Scalars['String']['input']>;\n id_gteq?: InputMaybe<Scalars['String']['input']>;\n id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n id_lt?: InputMaybe<Scalars['String']['input']>;\n id_lteq?: InputMaybe<Scalars['String']['input']>;\n id_not_eq?: InputMaybe<Scalars['String']['input']>;\n id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n id_not_null?: InputMaybe<Scalars['String']['input']>;\n id_null?: InputMaybe<Scalars['String']['input']>;\n name_cont?: InputMaybe<Scalars['String']['input']>;\n name_contains?: InputMaybe<Scalars['String']['input']>;\n name_en_cont?: InputMaybe<Scalars['String']['input']>;\n name_en_contains?: InputMaybe<Scalars['String']['input']>;\n name_en_end?: InputMaybe<Scalars['String']['input']>;\n name_en_eq?: InputMaybe<Scalars['String']['input']>;\n name_en_equals?: InputMaybe<Scalars['String']['input']>;\n name_en_in?: InputMaybe<Array<Scalars['String']['input']>>;\n name_en_not_eq?: InputMaybe<Scalars['String']['input']>;\n name_en_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n name_en_not_null?: InputMaybe<Scalars['String']['input']>;\n name_en_null?: InputMaybe<Scalars['String']['input']>;\n name_en_start?: InputMaybe<Scalars['String']['input']>;\n name_end?: InputMaybe<Scalars['String']['input']>;\n name_eq?: InputMaybe<Scalars['String']['input']>;\n name_equals?: InputMaybe<Scalars['String']['input']>;\n name_in?: InputMaybe<Array<Scalars['String']['input']>>;\n name_not_eq?: InputMaybe<Scalars['String']['input']>;\n name_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n name_not_null?: InputMaybe<Scalars['String']['input']>;\n name_null?: InputMaybe<Scalars['String']['input']>;\n name_or_number_cont?: InputMaybe<Scalars['String']['input']>;\n name_or_number_contains?: InputMaybe<Scalars['String']['input']>;\n name_or_number_end?: InputMaybe<Scalars['String']['input']>;\n name_or_number_eq?: InputMaybe<Scalars['String']['input']>;\n name_or_number_equals?: InputMaybe<Scalars['String']['input']>;\n name_or_number_in?: InputMaybe<Array<Scalars['String']['input']>>;\n name_or_number_not_eq?: InputMaybe<Scalars['String']['input']>;\n name_or_number_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n name_or_number_not_null?: InputMaybe<Scalars['String']['input']>;\n name_or_number_null?: InputMaybe<Scalars['String']['input']>;\n name_or_number_start?: InputMaybe<Scalars['String']['input']>;\n name_pl_cont?: InputMaybe<Scalars['String']['input']>;\n name_pl_contains?: InputMaybe<Scalars['String']['input']>;\n name_pl_end?: InputMaybe<Scalars['String']['input']>;\n name_pl_eq?: InputMaybe<Scalars['String']['input']>;\n name_pl_equals?: InputMaybe<Scalars['String']['input']>;\n name_pl_in?: InputMaybe<Array<Scalars['String']['input']>>;\n name_pl_not_eq?: InputMaybe<Scalars['String']['input']>;\n name_pl_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n name_pl_not_null?: InputMaybe<Scalars['String']['input']>;\n name_pl_null?: InputMaybe<Scalars['String']['input']>;\n name_pl_start?: InputMaybe<Scalars['String']['input']>;\n name_start?: InputMaybe<Scalars['String']['input']>;\n number_cont?: InputMaybe<Scalars['String']['input']>;\n number_contains?: InputMaybe<Scalars['String']['input']>;\n number_end?: InputMaybe<Scalars['String']['input']>;\n number_eq?: InputMaybe<Scalars['String']['input']>;\n number_equals?: InputMaybe<Scalars['String']['input']>;\n number_in?: InputMaybe<Array<Scalars['String']['input']>>;\n number_not_eq?: InputMaybe<Scalars['String']['input']>;\n number_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n number_not_null?: InputMaybe<Scalars['String']['input']>;\n number_null?: InputMaybe<Scalars['String']['input']>;\n number_start?: InputMaybe<Scalars['String']['input']>;\n orders_order_number_eq?: InputMaybe<Scalars['String']['input']>;\n orders_order_number_equals?: InputMaybe<Scalars['String']['input']>;\n sap_number_cont?: InputMaybe<Scalars['String']['input']>;\n sap_number_contains?: InputMaybe<Scalars['String']['input']>;\n sap_number_end?: InputMaybe<Scalars['String']['input']>;\n sap_number_eq?: InputMaybe<Scalars['String']['input']>;\n sap_number_equals?: InputMaybe<Scalars['String']['input']>;\n sap_number_in?: InputMaybe<Array<Scalars['String']['input']>>;\n sap_number_not_eq?: InputMaybe<Scalars['String']['input']>;\n sap_number_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n sap_number_not_null?: InputMaybe<Scalars['String']['input']>;\n sap_number_null?: InputMaybe<Scalars['String']['input']>;\n sap_number_start?: InputMaybe<Scalars['String']['input']>;\n updated_at_eq?: InputMaybe<Scalars['String']['input']>;\n updated_at_equals?: InputMaybe<Scalars['String']['input']>;\n updated_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n updated_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n updated_at_not_null?: InputMaybe<Scalars['String']['input']>;\n updated_at_null?: InputMaybe<Scalars['String']['input']>;\n uuid_eq?: InputMaybe<Scalars['String']['input']>;\n uuid_equals?: InputMaybe<Scalars['String']['input']>;\n uuid_in?: InputMaybe<Array<Scalars['String']['input']>>;\n uuid_not_eq?: InputMaybe<Scalars['String']['input']>;\n uuid_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n uuid_not_null?: InputMaybe<Scalars['String']['input']>;\n uuid_null?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type ProductInput = {\n id: Scalars['ID']['input'];\n name?: InputMaybe<Scalars['String']['input']>;\n number?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type ProductionInsightsEntry = {\n __typename?: 'ProductionInsightsEntry';\n count: Scalars['Int']['output'];\n label: Scalars['String']['output'];\n};\n\nexport type ProductionInsightsInput = {\n aggregation: InsightsAggregation;\n dateFrom: Scalars['ISO8601DateTime']['input'];\n dateTo: Scalars['ISO8601DateTime']['input'];\n dayType: DayType;\n};\n\nexport type ProductionInsightsResult = {\n __typename?: 'ProductionInsightsResult';\n entries: Array<ProductionInsightsEntry>;\n};\n\nexport enum ProductionMode {\n Manual = 'MANUAL',\n Planned = 'PLANNED',\n}\n\nexport type Query = {\n __typename?: 'Query';\n /**\n * Returns actual staffing counts based on user presences, compared against staffing plans.\n * Shows how many operators are checked in vs. the planned number.\n */\n actualStaffingCounts: Array<ActualStaffingCount>;\n /** Returns application information, including the current API version. */\n applicationInfo: ApplicationInfo;\n availabilityInsights: AvailabilityInsightsResult;\n /**\n * Returns the company configuration for the currently logged-in user,\n * including managed devices, displayed KPIs, role permissions,\n * status transition settings, and workplace configurations.\n */\n companyConfig: CompanyConfig;\n /**\n * Returns a list of counter directories, used to group counters at a workplace\n * into a logical hierarchical structure.\n */\n counterDirectories: Array<CounterDirectory>;\n /**\n * Returns production counters recorded per workplace.\n * - Each counter tracks either GOOD (produced pieces / good parts) or BAD (scrap / bad parts / defects).\n * - A workplace may have multiple counters.\n * - Counters may be grouped into counter directories for better organization.\n * - Counter values can be entered manually by operators or collected automatically from machines.\n * - A counter may also be locked, in which case no new pieces can be added.\n */\n counters: Array<Counter>;\n /** Returns the currently authenticated user. */\n currentUser: User;\n /**\n * Returns the list of dashboards available to the current user.\n *\n * A dashboard is a user-configured workspace containing widgets\n * (charts, KPIs, tables, status blocks, etc.) arranged in a chosen layout.\n * Dashboards are typically used for real-time production monitoring:\n * - displayed on large TV screens in factory halls,\n * - by supervisors, team leaders, or maintenance departments,\n * - to observe multiple workplaces at once.\n */\n dashboards: Array<Dashboard>;\n /**\n * Returns a list of departments available to the current user.\n *\n * A department is an organizational unit used to group workplaces,\n * employees, machines, and orders.\n */\n departments: Array<Department>;\n /**\n * Returns floor plans available to the current user.\n *\n * A floor plan is a dashboard widget showing a factory hall map with workplaces\n * placed on it. Workplaces change color and display information based on their\n * current production status.\n */\n floorPlans: Array<FloorPlan>;\n /**\n * Returns live KPI metric values for the current shift at workplaces\n * (e.g. performance, quality, availability, OEE, good and bad pieces).\n */\n metricValues: Array<MetricValue>;\n /**\n * Returns the list of all metrics available in the system (e.g. performance, quality, availability, OEE).\n * Use this query to discover metric names and definitions, not their live values.\n */\n metrics: Array<Metric>;\n /**\n * Returns system notifications (e.g. shift ended, too few operators at a workplace),\n * which are received and displayed on workplaces.\n */\n notifications: Array<Notification>;\n /**\n * Returns up to 100 most recent production orders available in the system.\n * Orders can have different planning states and execution statuses.\n */\n orders: Array<Order>;\n /**\n * Returns executions of production orders, representing individual runs of an order\n * (with produced quantities, operator, and status), from start until completion.\n * An order may have multiple executions, as it can be paused and resumed at different stages.\n */\n ordersExecutions: Array<OrderExecution>;\n productionInsights: ProductionInsightsResult;\n /**\n * Returns products from the system, which are used in production orders.\n * Supports search by product number and returns up to 10 matching results,\n * typically used when adding an existing product to an order form.\n */\n products: Array<Product>;\n /**\n * Returns the list of available statuses (reasons) that can be selected on a workplace.\n *\n * - Each status has a visual color (red, green, yellow, gray) shown in the UI.\n * - Each status also carries an availability state (working, stopped, planned_stop).\n * - Statuses are organized hierarchically and belong to a status dictionary (ReasonGroup),\n * which can be reused across multiple workplaces.\n * - When operators select statuses at a workplace, this creates a history of status changes,\n * representing how the workplace has been operating over time.\n */\n reasons: Array<Reason>;\n /**\n * Returns AI-based recommendations of the most likely next status (reason)\n * for a given workplace, based on analysis of previous operator activity.\n * Part of the SmartStatusAI module.\n */\n reasonsRecommendation?: Maybe<ReasonsRecommendation>;\n /**\n * Returns the list of work shifts configured for the organization.\n * A shift defines the working period of operators (start and end times),\n * used for scheduling, reporting, and tracking production activities.\n */\n shifts: Array<Shift>;\n /**\n * Returns staffing plans for workplaces.\n * Defines the recommended number of operators for a specific workplace, shift, and date.\n */\n staffingPlans: Array<StaffingPlan>;\n /**\n * Returns standard production rates defined for an order execution.\n * Standard rates specify expected output (e.g. good or bad pieces per hour,\n * per number of operators, and within a given time), allowing comparison of\n * actual performance with targets and supporting KPI calculations like quality or OEE.\n */\n standardRates: Array<StandardRate>;\n /**\n * Returns status change transition permissions, which define the allowed moves\n * between statuses (reasons) in the status dictionary.\n * These permissions form a transition matrix that can restrict changing\n * from one status to another depending on role and workplace.\n */\n statusChangeTransitionPermissions: Array<StatusChangeTransitionPermission>;\n /**\n * Returns status change records for workplaces, limited to the current shift.\n * A status change represents a continuous period in which a workplace has a given status (reason).\n * - Each change has a start and an optional end; if `finished_at` is null, the status is currently active.\n * - Only one status change can be active at a workplace at a time, ensuring linear continuity.\n * - Status changes may be created manually by operators or automatically by the system\n * (e.g. at order start/stop, shift change, operator log in/out).\n */\n statusChanges: Array<StatusChange>;\n statusInsights: StatusInsightsResult;\n /** Returns all users belonging to the company of the currently logged-in user. */\n users: Array<User>;\n /**\n * Returns user presence records at workplaces limited to the current shift.\n * A presence is created when an operator checks in at a workplace\n * and ends when they check out.\n *\n * These records indicate how many operators are working on a workplace during the shift,\n * provide history of who worked where and when, and are used in production metrics.\n */\n usersPresences: Array<UserPresence>;\n /**\n * DEPRECATED - use the widgets query instead.\n * Returns a single widget already placed on a dashboard.\n */\n widget: Widget;\n /**\n * Returns all widgets available on dashboards.\n * A widget is an autonomous element of a dashboard (e.g. floor plan, KPI metrics,\n * workplace monitor, list of orders, or PromQL-based charts).\n */\n widgets: Array<Widget>;\n /**\n * Returns all work orders from the CMMS module.\n * Work orders are used by the maintenance department to plan and track actions\n * such as inspections, repairs, and other maintenance tasks.\n */\n workOrders: Array<WorkOrder>;\n workOrdersInsights: WorkOrdersInsightsResult;\n /**\n * Returns workplace staffing overview for a specific shift and date.\n * Shows workplaces with assigned operators, their check-in status,\n * unassigned operators pool, and global summary.\n */\n workplaceAssignments: WorkplaceAssignmentsView;\n /** Returns performance analysis for workplaces within a specified time period. */\n workplacePerformanceInsights: WorkplacePerformanceInsightsResult;\n /**\n * Returns all workplaces available in the current organization.\n * A workplace represents a production station in the factory,\n * where operators perform tasks, orders are executed, and KPIs are tracked.\n */\n workplaces: Array<Workplace>;\n};\n\nexport type QueryActualStaffingCountsArgs = {\n filter?: InputMaybe<ActualStaffingCountFilter>;\n};\n\nexport type QueryAvailabilityInsightsArgs = {\n input: AvailabilityInsightsInput;\n};\n\nexport type QueryCounterDirectoriesArgs = {\n filter?: InputMaybe<CounterDirectoryFilter>;\n};\n\nexport type QueryCountersArgs = {\n filter?: InputMaybe<CounterFilter>;\n};\n\nexport type QueryDashboardsArgs = {\n filter?: InputMaybe<DashboardFilter>;\n};\n\nexport type QueryDepartmentsArgs = {\n filter?: InputMaybe<DepartmentFilter>;\n};\n\nexport type QueryFloorPlansArgs = {\n filter?: InputMaybe<FloorPlanFilter>;\n};\n\nexport type QueryMetricValuesArgs = {\n metricIds?: InputMaybe<Array<Scalars['ID']['input']>>;\n workplaceIds?: InputMaybe<Array<Scalars['ID']['input']>>;\n};\n\nexport type QueryNotificationsArgs = {\n filter?: InputMaybe<NotificationFilter>;\n};\n\nexport type QueryOrdersArgs = {\n filter?: InputMaybe<OrderFilter>;\n};\n\nexport type QueryOrdersExecutionsArgs = {\n filter?: InputMaybe<OrderExecutionFilter>;\n};\n\nexport type QueryProductionInsightsArgs = {\n input: ProductionInsightsInput;\n};\n\nexport type QueryProductsArgs = {\n filter?: InputMaybe<ProductFilter>;\n};\n\nexport type QueryReasonsArgs = {\n filter?: InputMaybe<ReasonFilter>;\n};\n\nexport type QueryReasonsRecommendationArgs = {\n workplaceId: Scalars['String']['input'];\n};\n\nexport type QueryStaffingPlansArgs = {\n filter?: InputMaybe<StaffingPlanFilter>;\n};\n\nexport type QueryStandardRatesArgs = {\n orderExecutionId: Scalars['ID']['input'];\n};\n\nexport type QueryStatusChangeTransitionPermissionsArgs = {\n filter?: InputMaybe<StatusChangeTransitionPermissionFilter>;\n};\n\nexport type QueryStatusChangesArgs = {\n filter?: InputMaybe<StatusChangeFilter>;\n};\n\nexport type QueryStatusInsightsArgs = {\n input: StatusInsightsInput;\n};\n\nexport type QueryUsersArgs = {\n filter?: InputMaybe<UserFilter>;\n};\n\nexport type QueryUsersPresencesArgs = {\n filter?: InputMaybe<UserPresenceFilter>;\n};\n\nexport type QueryWidgetArgs = {\n id: Scalars['ID']['input'];\n};\n\nexport type QueryWidgetsArgs = {\n filter?: InputMaybe<WidgetFilter>;\n};\n\nexport type QueryWorkOrdersArgs = {\n filter?: InputMaybe<WorkOrderFilter>;\n};\n\nexport type QueryWorkOrdersInsightsArgs = {\n input: WorkOrdersInsightsInput;\n};\n\nexport type QueryWorkplaceAssignmentsArgs = {\n input: WorkplaceAssignmentsInput;\n};\n\nexport type QueryWorkplacePerformanceInsightsArgs = {\n input: WorkplacePerformanceInsightsInput;\n};\n\nexport type QueryWorkplacesArgs = {\n filter?: InputMaybe<WorkplaceFilter>;\n};\n\nexport type Reason = {\n __typename?: 'Reason';\n acceptanceMonit: Scalars['Boolean']['output'];\n canBeRecommended: Scalars['Boolean']['output'];\n hasNote: Scalars['Boolean']['output'];\n id: Scalars['ID']['output'];\n isNoteRequired: Scalars['Boolean']['output'];\n leaf: Scalars['Boolean']['output'];\n name: Scalars['String']['output'];\n parentId?: Maybe<Scalars['String']['output']>;\n position: Scalars['Int']['output'];\n reasonGroupId: Scalars['String']['output'];\n statusColor: AndonLightColor;\n temporary: Scalars['Boolean']['output'];\n};\n\nexport type ReasonFilter = {\n acceptance_monit_eq?: InputMaybe<Scalars['String']['input']>;\n acceptance_monit_equals?: InputMaybe<Scalars['String']['input']>;\n ancestry_cont?: InputMaybe<Scalars['String']['input']>;\n ancestry_contains?: InputMaybe<Scalars['String']['input']>;\n ancestry_end?: InputMaybe<Scalars['String']['input']>;\n ancestry_eq?: InputMaybe<Scalars['String']['input']>;\n ancestry_equals?: InputMaybe<Scalars['String']['input']>;\n ancestry_in?: InputMaybe<Array<Scalars['String']['input']>>;\n ancestry_not_eq?: InputMaybe<Scalars['String']['input']>;\n ancestry_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n ancestry_not_null?: InputMaybe<Scalars['String']['input']>;\n ancestry_null?: InputMaybe<Scalars['String']['input']>;\n ancestry_start?: InputMaybe<Scalars['String']['input']>;\n availability_status_eq?: InputMaybe<Scalars['String']['input']>;\n availability_status_equals?: InputMaybe<Scalars['String']['input']>;\n availability_status_gt?: InputMaybe<Scalars['String']['input']>;\n availability_status_gteq?: InputMaybe<Scalars['String']['input']>;\n availability_status_in?: InputMaybe<Array<Scalars['String']['input']>>;\n availability_status_lt?: InputMaybe<Scalars['String']['input']>;\n availability_status_lteq?: InputMaybe<Scalars['String']['input']>;\n availability_status_not_eq?: InputMaybe<Scalars['String']['input']>;\n availability_status_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n availability_status_not_null?: InputMaybe<Scalars['String']['input']>;\n availability_status_null?: InputMaybe<Scalars['String']['input']>;\n can_be_recommended_eq?: InputMaybe<Scalars['String']['input']>;\n can_be_recommended_equals?: InputMaybe<Scalars['String']['input']>;\n changeable_eq?: InputMaybe<Scalars['String']['input']>;\n changeable_equals?: InputMaybe<Scalars['String']['input']>;\n children_count_eq?: InputMaybe<Scalars['String']['input']>;\n children_count_equals?: InputMaybe<Scalars['String']['input']>;\n children_count_gt?: InputMaybe<Scalars['String']['input']>;\n children_count_gteq?: InputMaybe<Scalars['String']['input']>;\n children_count_in?: InputMaybe<Array<Scalars['String']['input']>>;\n children_count_lt?: InputMaybe<Scalars['String']['input']>;\n children_count_lteq?: InputMaybe<Scalars['String']['input']>;\n children_count_not_eq?: InputMaybe<Scalars['String']['input']>;\n children_count_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n children_count_not_null?: InputMaybe<Scalars['String']['input']>;\n children_count_null?: InputMaybe<Scalars['String']['input']>;\n created_at_eq?: InputMaybe<Scalars['String']['input']>;\n created_at_equals?: InputMaybe<Scalars['String']['input']>;\n created_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n created_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n created_at_not_null?: InputMaybe<Scalars['String']['input']>;\n created_at_null?: InputMaybe<Scalars['String']['input']>;\n creates_order_eq?: InputMaybe<Scalars['String']['input']>;\n creates_order_equals?: InputMaybe<Scalars['String']['input']>;\n deleted_at_eq?: InputMaybe<Scalars['String']['input']>;\n deleted_at_equals?: InputMaybe<Scalars['String']['input']>;\n deleted_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n deleted_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n deleted_at_not_null?: InputMaybe<Scalars['String']['input']>;\n deleted_at_null?: InputMaybe<Scalars['String']['input']>;\n id_eq?: InputMaybe<Scalars['String']['input']>;\n id_equals?: InputMaybe<Scalars['String']['input']>;\n id_gt?: InputMaybe<Scalars['String']['input']>;\n id_gteq?: InputMaybe<Scalars['String']['input']>;\n id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n id_lt?: InputMaybe<Scalars['String']['input']>;\n id_lteq?: InputMaybe<Scalars['String']['input']>;\n id_not_eq?: InputMaybe<Scalars['String']['input']>;\n id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n id_not_null?: InputMaybe<Scalars['String']['input']>;\n id_null?: InputMaybe<Scalars['String']['input']>;\n name_cont?: InputMaybe<Scalars['String']['input']>;\n name_contains?: InputMaybe<Scalars['String']['input']>;\n name_en_cont?: InputMaybe<Scalars['String']['input']>;\n name_en_contains?: InputMaybe<Scalars['String']['input']>;\n name_en_end?: InputMaybe<Scalars['String']['input']>;\n name_en_eq?: InputMaybe<Scalars['String']['input']>;\n name_en_equals?: InputMaybe<Scalars['String']['input']>;\n name_en_in?: InputMaybe<Array<Scalars['String']['input']>>;\n name_en_not_eq?: InputMaybe<Scalars['String']['input']>;\n name_en_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n name_en_not_null?: InputMaybe<Scalars['String']['input']>;\n name_en_null?: InputMaybe<Scalars['String']['input']>;\n name_en_start?: InputMaybe<Scalars['String']['input']>;\n name_end?: InputMaybe<Scalars['String']['input']>;\n name_eq?: InputMaybe<Scalars['String']['input']>;\n name_equals?: InputMaybe<Scalars['String']['input']>;\n name_in?: InputMaybe<Array<Scalars['String']['input']>>;\n name_not_eq?: InputMaybe<Scalars['String']['input']>;\n name_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n name_not_null?: InputMaybe<Scalars['String']['input']>;\n name_null?: InputMaybe<Scalars['String']['input']>;\n name_pl_cont?: InputMaybe<Scalars['String']['input']>;\n name_pl_contains?: InputMaybe<Scalars['String']['input']>;\n name_pl_end?: InputMaybe<Scalars['String']['input']>;\n name_pl_eq?: InputMaybe<Scalars['String']['input']>;\n name_pl_equals?: InputMaybe<Scalars['String']['input']>;\n name_pl_in?: InputMaybe<Array<Scalars['String']['input']>>;\n name_pl_not_eq?: InputMaybe<Scalars['String']['input']>;\n name_pl_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n name_pl_not_null?: InputMaybe<Scalars['String']['input']>;\n name_pl_null?: InputMaybe<Scalars['String']['input']>;\n name_pl_start?: InputMaybe<Scalars['String']['input']>;\n name_start?: InputMaybe<Scalars['String']['input']>;\n note_required_eq?: InputMaybe<Scalars['String']['input']>;\n note_required_equals?: InputMaybe<Scalars['String']['input']>;\n note_status_eq?: InputMaybe<Scalars['String']['input']>;\n note_status_equals?: InputMaybe<Scalars['String']['input']>;\n position_eq?: InputMaybe<Scalars['String']['input']>;\n position_equals?: InputMaybe<Scalars['String']['input']>;\n position_gt?: InputMaybe<Scalars['String']['input']>;\n position_gteq?: InputMaybe<Scalars['String']['input']>;\n position_in?: InputMaybe<Array<Scalars['String']['input']>>;\n position_lt?: InputMaybe<Scalars['String']['input']>;\n position_lteq?: InputMaybe<Scalars['String']['input']>;\n position_not_eq?: InputMaybe<Scalars['String']['input']>;\n position_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n position_not_null?: InputMaybe<Scalars['String']['input']>;\n position_null?: InputMaybe<Scalars['String']['input']>;\n reason_group_id_eq?: InputMaybe<Scalars['String']['input']>;\n reason_group_id_equals?: InputMaybe<Scalars['String']['input']>;\n reason_group_id_gt?: InputMaybe<Scalars['String']['input']>;\n reason_group_id_gteq?: InputMaybe<Scalars['String']['input']>;\n reason_group_id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n reason_group_id_lt?: InputMaybe<Scalars['String']['input']>;\n reason_group_id_lteq?: InputMaybe<Scalars['String']['input']>;\n reason_group_id_not_eq?: InputMaybe<Scalars['String']['input']>;\n reason_group_id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n reason_group_id_not_null?: InputMaybe<Scalars['String']['input']>;\n reason_group_id_null?: InputMaybe<Scalars['String']['input']>;\n skip_shift_end_reason_automation_eq?: InputMaybe<Scalars['String']['input']>;\n skip_shift_end_reason_automation_equals?: InputMaybe<Scalars['String']['input']>;\n status_eq?: InputMaybe<Scalars['String']['input']>;\n status_equals?: InputMaybe<Scalars['String']['input']>;\n status_gt?: InputMaybe<Scalars['String']['input']>;\n status_gteq?: InputMaybe<Scalars['String']['input']>;\n status_in?: InputMaybe<Array<Scalars['String']['input']>>;\n status_lt?: InputMaybe<Scalars['String']['input']>;\n status_lteq?: InputMaybe<Scalars['String']['input']>;\n status_not_eq?: InputMaybe<Scalars['String']['input']>;\n status_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n status_not_null?: InputMaybe<Scalars['String']['input']>;\n status_null?: InputMaybe<Scalars['String']['input']>;\n tags_contains_all?: InputMaybe<Array<Scalars['String']['input']>>;\n tags_contains_any?: InputMaybe<Array<Scalars['String']['input']>>;\n temporary_eq?: InputMaybe<Scalars['String']['input']>;\n temporary_equals?: InputMaybe<Scalars['String']['input']>;\n updated_at_eq?: InputMaybe<Scalars['String']['input']>;\n updated_at_equals?: InputMaybe<Scalars['String']['input']>;\n updated_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n updated_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n updated_at_not_null?: InputMaybe<Scalars['String']['input']>;\n updated_at_null?: InputMaybe<Scalars['String']['input']>;\n work_order_template_id_eq?: InputMaybe<Scalars['String']['input']>;\n work_order_template_id_equals?: InputMaybe<Scalars['String']['input']>;\n work_order_template_id_gt?: InputMaybe<Scalars['String']['input']>;\n work_order_template_id_gteq?: InputMaybe<Scalars['String']['input']>;\n work_order_template_id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n work_order_template_id_lt?: InputMaybe<Scalars['String']['input']>;\n work_order_template_id_lteq?: InputMaybe<Scalars['String']['input']>;\n work_order_template_id_not_eq?: InputMaybe<Scalars['String']['input']>;\n work_order_template_id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n work_order_template_id_not_null?: InputMaybe<Scalars['String']['input']>;\n work_order_template_id_null?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type ReasonsRecommendation = {\n __typename?: 'ReasonsRecommendation';\n reasons: Array<Reason>;\n trainingStatus: TrainingStatus;\n};\n\n/** Autogenerated return type of RemoveDashboard */\nexport type RemoveDashboardPayload = {\n __typename?: 'RemoveDashboardPayload';\n errors?: Maybe<Array<MutationError>>;\n};\n\n/** Autogenerated return type of RemoveStaffingPlan */\nexport type RemoveStaffingPlanPayload = {\n __typename?: 'RemoveStaffingPlanPayload';\n errors?: Maybe<Array<MutationError>>;\n};\n\n/** Autogenerated return type of RemoveUserPresence */\nexport type RemoveUserPresencePayload = {\n __typename?: 'RemoveUserPresencePayload';\n errors?: Maybe<Array<MutationError>>;\n};\n\n/** Autogenerated return type of RemoveWidget */\nexport type RemoveWidgetPayload = {\n __typename?: 'RemoveWidgetPayload';\n errors?: Maybe<Array<MutationError>>;\n};\n\n/** Autogenerated return type of RemoveWorkplaceUsersPresences */\nexport type RemoveWorkplaceUsersPresencesPayload = {\n __typename?: 'RemoveWorkplaceUsersPresencesPayload';\n errors?: Maybe<Array<MutationError>>;\n};\n\nexport type RequestFeatureAccessInput = {\n featureKey: Scalars['String']['input'];\n requestType: AccessRequestTypeEnum;\n workplaceId?: InputMaybe<Scalars['ID']['input']>;\n};\n\n/** Autogenerated return type of RequestFeatureAccessMutation */\nexport type RequestFeatureAccessMutationPayload = {\n __typename?: 'RequestFeatureAccessMutationPayload';\n errors?: Maybe<Array<MutationError>>;\n success: Scalars['Boolean']['output'];\n};\n\nexport type RoleConfig = {\n __typename?: 'RoleConfig';\n historyVisibilityEnabled: Scalars['Boolean']['output'];\n orderCreationAllowed: Scalars['Boolean']['output'];\n};\n\nexport enum ScreenEnum {\n Cmms = 'CMMS',\n Counters = 'COUNTERS',\n Statuses = 'STATUSES',\n StatusScreen = 'STATUS_SCREEN',\n Workplaces = 'WORKPLACES',\n}\n\nexport type ScreenSaverConfig = {\n __typename?: 'ScreenSaverConfig';\n autoSignOut: Scalars['Boolean']['output'];\n displayAfterIdle: Scalars['Boolean']['output'];\n displayAfterOrderCreated: Scalars['Boolean']['output'];\n displayAfterStatusChangeCreated: Scalars['Boolean']['output'];\n enabled: Scalars['Boolean']['output'];\n idleTime: Scalars['Int']['output'];\n};\n\n/** Autogenerated return type of SetCounter */\nexport type SetCounterPayload = {\n __typename?: 'SetCounterPayload';\n counter?: Maybe<Counter>;\n errors?: Maybe<Array<MutationError>>;\n};\n\nexport type Shift = {\n __typename?: 'Shift';\n finishedAt: Scalars['String']['output'];\n id: Scalars['ID']['output'];\n name: Scalars['String']['output'];\n startedAt: Scalars['String']['output'];\n};\n\nexport type StaffingPlan = {\n __typename?: 'StaffingPlan';\n author: User;\n createdAt: Scalars['ISO8601DateTime']['output'];\n date: Scalars['ISO8601Date']['output'];\n id: Scalars['ID']['output'];\n recommendedOperators: Scalars['Int']['output'];\n shift: Shift;\n updatedAt: Scalars['ISO8601DateTime']['output'];\n workplace: Workplace;\n};\n\nexport type StaffingPlanFilter = {\n date_from?: InputMaybe<Scalars['ISO8601Date']['input']>;\n date_to?: InputMaybe<Scalars['ISO8601Date']['input']>;\n period?: InputMaybe<Period>;\n shift_id_in?: InputMaybe<Array<Scalars['ID']['input']>>;\n workplace_id_in?: InputMaybe<Array<Scalars['ID']['input']>>;\n};\n\nexport type StaffingPlanInput = {\n date: Scalars['ISO8601Date']['input'];\n recommendedOperators: Scalars['Int']['input'];\n shiftId: Scalars['ID']['input'];\n workplaceId: Scalars['ID']['input'];\n};\n\nexport type StaffingPlanUpdateInput = {\n id: Scalars['ID']['input'];\n recommendedOperators: Scalars['Int']['input'];\n};\n\nexport type StandardRate = {\n __typename?: 'StandardRate';\n id: Scalars['ID']['output'];\n label: Scalars['String']['output'];\n};\n\n/** Autogenerated return type of StartOrderExecution */\nexport type StartOrderExecutionPayload = {\n __typename?: 'StartOrderExecutionPayload';\n errors?: Maybe<Array<MutationError>>;\n orderExecution?: Maybe<OrderExecution>;\n};\n\nexport type StartTrialInput = {\n featureKey: Scalars['String']['input'];\n};\n\n/** Autogenerated return type of StartTrialMutation */\nexport type StartTrialMutationPayload = {\n __typename?: 'StartTrialMutationPayload';\n errors?: Maybe<Array<MutationError>>;\n success: Scalars['Boolean']['output'];\n};\n\nexport type StatusChange = {\n __typename?: 'StatusChange';\n author: User;\n finishedAt?: Maybe<Scalars['String']['output']>;\n id: Scalars['ID']['output'];\n note?: Maybe<Scalars['String']['output']>;\n order?: Maybe<Order>;\n product?: Maybe<Product>;\n reason: Reason;\n reasonHasBeenRecommended: Scalars['Boolean']['output'];\n startedAt: Scalars['String']['output'];\n workplaceId: Scalars['String']['output'];\n};\n\nexport type StatusChangeFilter = {\n period?: InputMaybe<Period>;\n workplace_id_equals?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type StatusChangeTransitionPermission = {\n __typename?: 'StatusChangeTransitionPermission';\n fromReasonId: Scalars['String']['output'];\n roleId: Scalars['String']['output'];\n toReasonId: Scalars['String']['output'];\n workplaceId: Scalars['String']['output'];\n};\n\nexport type StatusChangeTransitionPermissionFilter = {\n allowed_eq?: InputMaybe<Scalars['String']['input']>;\n allowed_equals?: InputMaybe<Scalars['String']['input']>;\n created_at_eq?: InputMaybe<Scalars['String']['input']>;\n created_at_equals?: InputMaybe<Scalars['String']['input']>;\n created_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n created_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n created_at_not_null?: InputMaybe<Scalars['String']['input']>;\n created_at_null?: InputMaybe<Scalars['String']['input']>;\n deleted_at_eq?: InputMaybe<Scalars['String']['input']>;\n deleted_at_equals?: InputMaybe<Scalars['String']['input']>;\n deleted_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n deleted_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n deleted_at_not_null?: InputMaybe<Scalars['String']['input']>;\n deleted_at_null?: InputMaybe<Scalars['String']['input']>;\n from_reason_id_eq?: InputMaybe<Scalars['String']['input']>;\n from_reason_id_equals?: InputMaybe<Scalars['String']['input']>;\n from_reason_id_gt?: InputMaybe<Scalars['String']['input']>;\n from_reason_id_gteq?: InputMaybe<Scalars['String']['input']>;\n from_reason_id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n from_reason_id_lt?: InputMaybe<Scalars['String']['input']>;\n from_reason_id_lteq?: InputMaybe<Scalars['String']['input']>;\n from_reason_id_not_eq?: InputMaybe<Scalars['String']['input']>;\n from_reason_id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n from_reason_id_not_null?: InputMaybe<Scalars['String']['input']>;\n from_reason_id_null?: InputMaybe<Scalars['String']['input']>;\n id_eq?: InputMaybe<Scalars['String']['input']>;\n id_equals?: InputMaybe<Scalars['String']['input']>;\n id_gt?: InputMaybe<Scalars['String']['input']>;\n id_gteq?: InputMaybe<Scalars['String']['input']>;\n id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n id_lt?: InputMaybe<Scalars['String']['input']>;\n id_lteq?: InputMaybe<Scalars['String']['input']>;\n id_not_eq?: InputMaybe<Scalars['String']['input']>;\n id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n id_not_null?: InputMaybe<Scalars['String']['input']>;\n id_null?: InputMaybe<Scalars['String']['input']>;\n role_id_eq?: InputMaybe<Scalars['String']['input']>;\n role_id_equals?: InputMaybe<Scalars['String']['input']>;\n role_id_gt?: InputMaybe<Scalars['String']['input']>;\n role_id_gteq?: InputMaybe<Scalars['String']['input']>;\n role_id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n role_id_lt?: InputMaybe<Scalars['String']['input']>;\n role_id_lteq?: InputMaybe<Scalars['String']['input']>;\n role_id_not_eq?: InputMaybe<Scalars['String']['input']>;\n role_id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n role_id_not_null?: InputMaybe<Scalars['String']['input']>;\n role_id_null?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_eq?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_equals?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_gt?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_gteq?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n subgroup_id_lt?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_lteq?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_not_eq?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n subgroup_id_not_null?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_null?: InputMaybe<Scalars['String']['input']>;\n to_reason_id_eq?: InputMaybe<Scalars['String']['input']>;\n to_reason_id_equals?: InputMaybe<Scalars['String']['input']>;\n to_reason_id_gt?: InputMaybe<Scalars['String']['input']>;\n to_reason_id_gteq?: InputMaybe<Scalars['String']['input']>;\n to_reason_id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n to_reason_id_lt?: InputMaybe<Scalars['String']['input']>;\n to_reason_id_lteq?: InputMaybe<Scalars['String']['input']>;\n to_reason_id_not_eq?: InputMaybe<Scalars['String']['input']>;\n to_reason_id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n to_reason_id_not_null?: InputMaybe<Scalars['String']['input']>;\n to_reason_id_null?: InputMaybe<Scalars['String']['input']>;\n updated_at_eq?: InputMaybe<Scalars['String']['input']>;\n updated_at_equals?: InputMaybe<Scalars['String']['input']>;\n updated_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n updated_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n updated_at_not_null?: InputMaybe<Scalars['String']['input']>;\n updated_at_null?: InputMaybe<Scalars['String']['input']>;\n workplace_id_cont?: InputMaybe<Scalars['String']['input']>;\n workplace_id_contains?: InputMaybe<Scalars['String']['input']>;\n workplace_id_end?: InputMaybe<Scalars['String']['input']>;\n workplace_id_eq?: InputMaybe<Scalars['String']['input']>;\n workplace_id_equals?: InputMaybe<Scalars['String']['input']>;\n workplace_id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n workplace_id_not_eq?: InputMaybe<Scalars['String']['input']>;\n workplace_id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n workplace_id_not_null?: InputMaybe<Scalars['String']['input']>;\n workplace_id_null?: InputMaybe<Scalars['String']['input']>;\n workplace_id_start?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type StatusInsightsEntry = {\n __typename?: 'StatusInsightsEntry';\n averageDurationMinutes: Scalars['Float']['output'];\n label: Scalars['String']['output'];\n occurrenceCount: Scalars['Int']['output'];\n};\n\nexport type StatusInsightsInput = {\n aggregation: InsightsAggregation;\n dateFrom: Scalars['ISO8601DateTime']['input'];\n dateTo: Scalars['ISO8601DateTime']['input'];\n dayType: DayType;\n reasonId: Scalars['ID']['input'];\n shiftIds: Array<Scalars['ID']['input']>;\n};\n\nexport type StatusInsightsResult = {\n __typename?: 'StatusInsightsResult';\n entries: Array<StatusInsightsEntry>;\n};\n\nexport enum StatusScreenDisplayBlocksEnum {\n Kpi = 'KPI',\n Livetime = 'LIVETIME',\n Orders = 'ORDERS',\n Presences = 'PRESENCES',\n}\n\n/** Autogenerated return type of StopOrderExecution */\nexport type StopOrderExecutionPayload = {\n __typename?: 'StopOrderExecutionPayload';\n errors?: Maybe<Array<MutationError>>;\n orderExecution?: Maybe<OrderExecution>;\n};\n\nexport type Subscription = {\n __typename?: 'Subscription';\n workplaceEvent: WorkplaceEventSubscriptionPayload;\n};\n\nexport type SubscriptionWorkplaceEventArgs = {\n id: Scalars['ID']['input'];\n};\n\nexport enum TrainingStatus {\n Disabled = 'DISABLED',\n InsufficientData = 'INSUFFICIENT_DATA',\n ServerError = 'SERVER_ERROR',\n Trained = 'TRAINED',\n Training = 'TRAINING',\n}\n\n/** Autogenerated return type of UnassignOperatorFromWorkplace */\nexport type UnassignOperatorFromWorkplacePayload = {\n __typename?: 'UnassignOperatorFromWorkplacePayload';\n assignment?: Maybe<WorkplaceAssignment>;\n errors?: Maybe<Array<MutationError>>;\n};\n\nexport type UnassignOperatorInput = {\n shiftId: Scalars['ID']['input'];\n userId: Scalars['ID']['input'];\n validFrom: Scalars['ISO8601Date']['input'];\n};\n\nexport type UnplannedOperator = {\n __typename?: 'UnplannedOperator';\n plannedWorkplace?: Maybe<Workplace>;\n user: User;\n};\n\n/** Autogenerated return type of UpdateDashboard */\nexport type UpdateDashboardPayload = {\n __typename?: 'UpdateDashboardPayload';\n dashboard?: Maybe<Dashboard>;\n errors?: Maybe<Array<MutationError>>;\n};\n\n/** Autogenerated return type of UpdateNotification */\nexport type UpdateNotificationPayload = {\n __typename?: 'UpdateNotificationPayload';\n errors?: Maybe<Array<MutationError>>;\n notification?: Maybe<Notification>;\n};\n\n/** Autogenerated return type of UpdateOrderExecution */\nexport type UpdateOrderExecutionPayload = {\n __typename?: 'UpdateOrderExecutionPayload';\n errors?: Maybe<Array<MutationError>>;\n orderExecution?: Maybe<OrderExecution>;\n};\n\nexport type UpdateOrderInput = {\n id: Scalars['ID']['input'];\n workplaceIds: Array<Scalars['ID']['input']>;\n};\n\n/** Autogenerated return type of UpdateOrder */\nexport type UpdateOrderPayload = {\n __typename?: 'UpdateOrderPayload';\n errors?: Maybe<Array<MutationError>>;\n order?: Maybe<Order>;\n};\n\n/** Autogenerated return type of UpdateStaffingPlan */\nexport type UpdateStaffingPlanPayload = {\n __typename?: 'UpdateStaffingPlanPayload';\n errors?: Maybe<Array<MutationError>>;\n staffingPlan?: Maybe<StaffingPlan>;\n};\n\nexport type UpdateStatusChangeInput = {\n authorId?: InputMaybe<Scalars['ID']['input']>;\n id: Scalars['ID']['input'];\n note?: InputMaybe<Scalars['String']['input']>;\n reasonHasBeenRecommended?: InputMaybe<Scalars['Boolean']['input']>;\n reasonId?: InputMaybe<Scalars['ID']['input']>;\n};\n\n/** Autogenerated return type of UpdateStatusChange */\nexport type UpdateStatusChangePayload = {\n __typename?: 'UpdateStatusChangePayload';\n errors?: Maybe<Array<MutationError>>;\n statusChange?: Maybe<StatusChange>;\n};\n\n/** Autogenerated return type of UpdateWidget */\nexport type UpdateWidgetPayload = {\n __typename?: 'UpdateWidgetPayload';\n errors?: Maybe<Array<MutationError>>;\n widget?: Maybe<Widget>;\n};\n\nexport type UpdateWorkOrderInput = {\n note?: InputMaybe<Scalars['String']['input']>;\n procedureResponse?: InputMaybe<Scalars['JSON']['input']>;\n status?: InputMaybe<WorkOrderStatusEnum>;\n timeSpentHours?: InputMaybe<Scalars['Int']['input']>;\n timeSpentMinutes?: InputMaybe<Scalars['Int']['input']>;\n};\n\n/** Autogenerated return type of UpdateWorkOrder */\nexport type UpdateWorkOrderPayload = {\n __typename?: 'UpdateWorkOrderPayload';\n errors?: Maybe<Array<MutationError>>;\n workOrder?: Maybe<WorkOrder>;\n};\n\nexport type User = {\n __typename?: 'User';\n id: Scalars['ID']['output'];\n login: Scalars['String']['output'];\n name: Scalars['String']['output'];\n};\n\nexport type UserFilter = {\n bot_name_cont?: InputMaybe<Scalars['String']['input']>;\n bot_name_contains?: InputMaybe<Scalars['String']['input']>;\n bot_name_end?: InputMaybe<Scalars['String']['input']>;\n bot_name_eq?: InputMaybe<Scalars['String']['input']>;\n bot_name_equals?: InputMaybe<Scalars['String']['input']>;\n bot_name_in?: InputMaybe<Array<Scalars['String']['input']>>;\n bot_name_not_eq?: InputMaybe<Scalars['String']['input']>;\n bot_name_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n bot_name_not_null?: InputMaybe<Scalars['String']['input']>;\n bot_name_null?: InputMaybe<Scalars['String']['input']>;\n bot_name_start?: InputMaybe<Scalars['String']['input']>;\n communications_locale_cont?: InputMaybe<Scalars['String']['input']>;\n communications_locale_contains?: InputMaybe<Scalars['String']['input']>;\n communications_locale_end?: InputMaybe<Scalars['String']['input']>;\n communications_locale_eq?: InputMaybe<Scalars['String']['input']>;\n communications_locale_equals?: InputMaybe<Scalars['String']['input']>;\n communications_locale_in?: InputMaybe<Array<Scalars['String']['input']>>;\n communications_locale_not_eq?: InputMaybe<Scalars['String']['input']>;\n communications_locale_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n communications_locale_not_null?: InputMaybe<Scalars['String']['input']>;\n communications_locale_null?: InputMaybe<Scalars['String']['input']>;\n communications_locale_start?: InputMaybe<Scalars['String']['input']>;\n company_id_eq?: InputMaybe<Scalars['String']['input']>;\n company_id_equals?: InputMaybe<Scalars['String']['input']>;\n company_id_gt?: InputMaybe<Scalars['String']['input']>;\n company_id_gteq?: InputMaybe<Scalars['String']['input']>;\n company_id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n company_id_lt?: InputMaybe<Scalars['String']['input']>;\n company_id_lteq?: InputMaybe<Scalars['String']['input']>;\n company_id_not_eq?: InputMaybe<Scalars['String']['input']>;\n company_id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n company_id_not_null?: InputMaybe<Scalars['String']['input']>;\n company_id_null?: InputMaybe<Scalars['String']['input']>;\n confirmation_sent_at_eq?: InputMaybe<Scalars['String']['input']>;\n confirmation_sent_at_equals?: InputMaybe<Scalars['String']['input']>;\n confirmation_sent_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n confirmation_sent_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n confirmation_sent_at_not_null?: InputMaybe<Scalars['String']['input']>;\n confirmation_sent_at_null?: InputMaybe<Scalars['String']['input']>;\n confirmation_token_cont?: InputMaybe<Scalars['String']['input']>;\n confirmation_token_contains?: InputMaybe<Scalars['String']['input']>;\n confirmation_token_end?: InputMaybe<Scalars['String']['input']>;\n confirmation_token_eq?: InputMaybe<Scalars['String']['input']>;\n confirmation_token_equals?: InputMaybe<Scalars['String']['input']>;\n confirmation_token_in?: InputMaybe<Array<Scalars['String']['input']>>;\n confirmation_token_not_eq?: InputMaybe<Scalars['String']['input']>;\n confirmation_token_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n confirmation_token_not_null?: InputMaybe<Scalars['String']['input']>;\n confirmation_token_null?: InputMaybe<Scalars['String']['input']>;\n confirmation_token_start?: InputMaybe<Scalars['String']['input']>;\n confirmed_at_eq?: InputMaybe<Scalars['String']['input']>;\n confirmed_at_equals?: InputMaybe<Scalars['String']['input']>;\n confirmed_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n confirmed_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n confirmed_at_not_null?: InputMaybe<Scalars['String']['input']>;\n confirmed_at_null?: InputMaybe<Scalars['String']['input']>;\n created_at_eq?: InputMaybe<Scalars['String']['input']>;\n created_at_equals?: InputMaybe<Scalars['String']['input']>;\n created_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n created_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n created_at_not_null?: InputMaybe<Scalars['String']['input']>;\n created_at_null?: InputMaybe<Scalars['String']['input']>;\n current_sign_in_at_eq?: InputMaybe<Scalars['String']['input']>;\n current_sign_in_at_equals?: InputMaybe<Scalars['String']['input']>;\n current_sign_in_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n current_sign_in_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n current_sign_in_at_not_null?: InputMaybe<Scalars['String']['input']>;\n current_sign_in_at_null?: InputMaybe<Scalars['String']['input']>;\n current_sign_in_ip_cont?: InputMaybe<Scalars['String']['input']>;\n current_sign_in_ip_contains?: InputMaybe<Scalars['String']['input']>;\n current_sign_in_ip_end?: InputMaybe<Scalars['String']['input']>;\n current_sign_in_ip_eq?: InputMaybe<Scalars['String']['input']>;\n current_sign_in_ip_equals?: InputMaybe<Scalars['String']['input']>;\n current_sign_in_ip_in?: InputMaybe<Array<Scalars['String']['input']>>;\n current_sign_in_ip_not_eq?: InputMaybe<Scalars['String']['input']>;\n current_sign_in_ip_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n current_sign_in_ip_not_null?: InputMaybe<Scalars['String']['input']>;\n current_sign_in_ip_null?: InputMaybe<Scalars['String']['input']>;\n current_sign_in_ip_start?: InputMaybe<Scalars['String']['input']>;\n deactivated_eq?: InputMaybe<Scalars['String']['input']>;\n deactivated_equals?: InputMaybe<Scalars['String']['input']>;\n deleted_at_eq?: InputMaybe<Scalars['String']['input']>;\n deleted_at_equals?: InputMaybe<Scalars['String']['input']>;\n deleted_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n deleted_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n deleted_at_not_null?: InputMaybe<Scalars['String']['input']>;\n deleted_at_null?: InputMaybe<Scalars['String']['input']>;\n email_cont?: InputMaybe<Scalars['String']['input']>;\n email_contains?: InputMaybe<Scalars['String']['input']>;\n email_end?: InputMaybe<Scalars['String']['input']>;\n email_eq?: InputMaybe<Scalars['String']['input']>;\n email_equals?: InputMaybe<Scalars['String']['input']>;\n email_in?: InputMaybe<Array<Scalars['String']['input']>>;\n email_not_eq?: InputMaybe<Scalars['String']['input']>;\n email_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n email_not_null?: InputMaybe<Scalars['String']['input']>;\n email_null?: InputMaybe<Scalars['String']['input']>;\n email_start?: InputMaybe<Scalars['String']['input']>;\n encrypted_password_cont?: InputMaybe<Scalars['String']['input']>;\n encrypted_password_contains?: InputMaybe<Scalars['String']['input']>;\n encrypted_password_end?: InputMaybe<Scalars['String']['input']>;\n encrypted_password_eq?: InputMaybe<Scalars['String']['input']>;\n encrypted_password_equals?: InputMaybe<Scalars['String']['input']>;\n encrypted_password_in?: InputMaybe<Array<Scalars['String']['input']>>;\n encrypted_password_not_eq?: InputMaybe<Scalars['String']['input']>;\n encrypted_password_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n encrypted_password_not_null?: InputMaybe<Scalars['String']['input']>;\n encrypted_password_null?: InputMaybe<Scalars['String']['input']>;\n encrypted_password_start?: InputMaybe<Scalars['String']['input']>;\n id_eq?: InputMaybe<Scalars['String']['input']>;\n id_equals?: InputMaybe<Scalars['String']['input']>;\n id_gt?: InputMaybe<Scalars['String']['input']>;\n id_gteq?: InputMaybe<Scalars['String']['input']>;\n id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n id_lt?: InputMaybe<Scalars['String']['input']>;\n id_lteq?: InputMaybe<Scalars['String']['input']>;\n id_not_eq?: InputMaybe<Scalars['String']['input']>;\n id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n id_not_null?: InputMaybe<Scalars['String']['input']>;\n id_null?: InputMaybe<Scalars['String']['input']>;\n image_cont?: InputMaybe<Scalars['String']['input']>;\n image_contains?: InputMaybe<Scalars['String']['input']>;\n image_end?: InputMaybe<Scalars['String']['input']>;\n image_eq?: InputMaybe<Scalars['String']['input']>;\n image_equals?: InputMaybe<Scalars['String']['input']>;\n image_in?: InputMaybe<Array<Scalars['String']['input']>>;\n image_not_eq?: InputMaybe<Scalars['String']['input']>;\n image_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n image_not_null?: InputMaybe<Scalars['String']['input']>;\n image_null?: InputMaybe<Scalars['String']['input']>;\n image_start?: InputMaybe<Scalars['String']['input']>;\n is_support_eq?: InputMaybe<Scalars['String']['input']>;\n is_support_equals?: InputMaybe<Scalars['String']['input']>;\n last_sign_in_at_eq?: InputMaybe<Scalars['String']['input']>;\n last_sign_in_at_equals?: InputMaybe<Scalars['String']['input']>;\n last_sign_in_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n last_sign_in_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n last_sign_in_at_not_null?: InputMaybe<Scalars['String']['input']>;\n last_sign_in_at_null?: InputMaybe<Scalars['String']['input']>;\n last_sign_in_ip_cont?: InputMaybe<Scalars['String']['input']>;\n last_sign_in_ip_contains?: InputMaybe<Scalars['String']['input']>;\n last_sign_in_ip_end?: InputMaybe<Scalars['String']['input']>;\n last_sign_in_ip_eq?: InputMaybe<Scalars['String']['input']>;\n last_sign_in_ip_equals?: InputMaybe<Scalars['String']['input']>;\n last_sign_in_ip_in?: InputMaybe<Array<Scalars['String']['input']>>;\n last_sign_in_ip_not_eq?: InputMaybe<Scalars['String']['input']>;\n last_sign_in_ip_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n last_sign_in_ip_not_null?: InputMaybe<Scalars['String']['input']>;\n last_sign_in_ip_null?: InputMaybe<Scalars['String']['input']>;\n last_sign_in_ip_start?: InputMaybe<Scalars['String']['input']>;\n locale_cont?: InputMaybe<Scalars['String']['input']>;\n locale_contains?: InputMaybe<Scalars['String']['input']>;\n locale_end?: InputMaybe<Scalars['String']['input']>;\n locale_eq?: InputMaybe<Scalars['String']['input']>;\n locale_equals?: InputMaybe<Scalars['String']['input']>;\n locale_in?: InputMaybe<Array<Scalars['String']['input']>>;\n locale_not_eq?: InputMaybe<Scalars['String']['input']>;\n locale_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n locale_not_null?: InputMaybe<Scalars['String']['input']>;\n locale_null?: InputMaybe<Scalars['String']['input']>;\n locale_start?: InputMaybe<Scalars['String']['input']>;\n login_code_cont?: InputMaybe<Scalars['String']['input']>;\n login_code_contains?: InputMaybe<Scalars['String']['input']>;\n login_code_end?: InputMaybe<Scalars['String']['input']>;\n login_code_eq?: InputMaybe<Scalars['String']['input']>;\n login_code_equals?: InputMaybe<Scalars['String']['input']>;\n login_code_generated_at_eq?: InputMaybe<Scalars['String']['input']>;\n login_code_generated_at_equals?: InputMaybe<Scalars['String']['input']>;\n login_code_generated_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n login_code_generated_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n login_code_generated_at_not_null?: InputMaybe<Scalars['String']['input']>;\n login_code_generated_at_null?: InputMaybe<Scalars['String']['input']>;\n login_code_in?: InputMaybe<Array<Scalars['String']['input']>>;\n login_code_not_eq?: InputMaybe<Scalars['String']['input']>;\n login_code_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n login_code_not_null?: InputMaybe<Scalars['String']['input']>;\n login_code_null?: InputMaybe<Scalars['String']['input']>;\n login_code_start?: InputMaybe<Scalars['String']['input']>;\n name_cont?: InputMaybe<Scalars['String']['input']>;\n name_contains?: InputMaybe<Scalars['String']['input']>;\n name_end?: InputMaybe<Scalars['String']['input']>;\n name_eq?: InputMaybe<Scalars['String']['input']>;\n name_equals?: InputMaybe<Scalars['String']['input']>;\n name_in?: InputMaybe<Array<Scalars['String']['input']>>;\n name_not_eq?: InputMaybe<Scalars['String']['input']>;\n name_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n name_not_null?: InputMaybe<Scalars['String']['input']>;\n name_null?: InputMaybe<Scalars['String']['input']>;\n name_start?: InputMaybe<Scalars['String']['input']>;\n nickname_cont?: InputMaybe<Scalars['String']['input']>;\n nickname_contains?: InputMaybe<Scalars['String']['input']>;\n nickname_end?: InputMaybe<Scalars['String']['input']>;\n nickname_eq?: InputMaybe<Scalars['String']['input']>;\n nickname_equals?: InputMaybe<Scalars['String']['input']>;\n nickname_in?: InputMaybe<Array<Scalars['String']['input']>>;\n nickname_not_eq?: InputMaybe<Scalars['String']['input']>;\n nickname_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n nickname_not_null?: InputMaybe<Scalars['String']['input']>;\n nickname_null?: InputMaybe<Scalars['String']['input']>;\n nickname_start?: InputMaybe<Scalars['String']['input']>;\n notification_browser_eq?: InputMaybe<Scalars['String']['input']>;\n notification_browser_equals?: InputMaybe<Scalars['String']['input']>;\n notification_email_eq?: InputMaybe<Scalars['String']['input']>;\n notification_email_equals?: InputMaybe<Scalars['String']['input']>;\n notification_rtc_eq?: InputMaybe<Scalars['String']['input']>;\n notification_rtc_equals?: InputMaybe<Scalars['String']['input']>;\n notification_sms_eq?: InputMaybe<Scalars['String']['input']>;\n notification_sms_equals?: InputMaybe<Scalars['String']['input']>;\n notification_vms_eq?: InputMaybe<Scalars['String']['input']>;\n notification_vms_equals?: InputMaybe<Scalars['String']['input']>;\n phone_cont?: InputMaybe<Scalars['String']['input']>;\n phone_contains?: InputMaybe<Scalars['String']['input']>;\n phone_end?: InputMaybe<Scalars['String']['input']>;\n phone_eq?: InputMaybe<Scalars['String']['input']>;\n phone_equals?: InputMaybe<Scalars['String']['input']>;\n phone_in?: InputMaybe<Array<Scalars['String']['input']>>;\n phone_not_eq?: InputMaybe<Scalars['String']['input']>;\n phone_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n phone_not_null?: InputMaybe<Scalars['String']['input']>;\n phone_null?: InputMaybe<Scalars['String']['input']>;\n phone_start?: InputMaybe<Scalars['String']['input']>;\n provider_cont?: InputMaybe<Scalars['String']['input']>;\n provider_contains?: InputMaybe<Scalars['String']['input']>;\n provider_end?: InputMaybe<Scalars['String']['input']>;\n provider_eq?: InputMaybe<Scalars['String']['input']>;\n provider_equals?: InputMaybe<Scalars['String']['input']>;\n provider_in?: InputMaybe<Array<Scalars['String']['input']>>;\n provider_not_eq?: InputMaybe<Scalars['String']['input']>;\n provider_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n provider_not_null?: InputMaybe<Scalars['String']['input']>;\n provider_null?: InputMaybe<Scalars['String']['input']>;\n provider_start?: InputMaybe<Scalars['String']['input']>;\n registration_token_cont?: InputMaybe<Scalars['String']['input']>;\n registration_token_contains?: InputMaybe<Scalars['String']['input']>;\n registration_token_end?: InputMaybe<Scalars['String']['input']>;\n registration_token_eq?: InputMaybe<Scalars['String']['input']>;\n registration_token_equals?: InputMaybe<Scalars['String']['input']>;\n registration_token_in?: InputMaybe<Array<Scalars['String']['input']>>;\n registration_token_not_eq?: InputMaybe<Scalars['String']['input']>;\n registration_token_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n registration_token_not_null?: InputMaybe<Scalars['String']['input']>;\n registration_token_null?: InputMaybe<Scalars['String']['input']>;\n registration_token_start?: InputMaybe<Scalars['String']['input']>;\n remember_created_at_eq?: InputMaybe<Scalars['String']['input']>;\n remember_created_at_equals?: InputMaybe<Scalars['String']['input']>;\n remember_created_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n remember_created_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n remember_created_at_not_null?: InputMaybe<Scalars['String']['input']>;\n remember_created_at_null?: InputMaybe<Scalars['String']['input']>;\n reset_password_sent_at_eq?: InputMaybe<Scalars['String']['input']>;\n reset_password_sent_at_equals?: InputMaybe<Scalars['String']['input']>;\n reset_password_sent_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n reset_password_sent_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n reset_password_sent_at_not_null?: InputMaybe<Scalars['String']['input']>;\n reset_password_sent_at_null?: InputMaybe<Scalars['String']['input']>;\n reset_password_token_cont?: InputMaybe<Scalars['String']['input']>;\n reset_password_token_contains?: InputMaybe<Scalars['String']['input']>;\n reset_password_token_end?: InputMaybe<Scalars['String']['input']>;\n reset_password_token_eq?: InputMaybe<Scalars['String']['input']>;\n reset_password_token_equals?: InputMaybe<Scalars['String']['input']>;\n reset_password_token_in?: InputMaybe<Array<Scalars['String']['input']>>;\n reset_password_token_not_eq?: InputMaybe<Scalars['String']['input']>;\n reset_password_token_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n reset_password_token_not_null?: InputMaybe<Scalars['String']['input']>;\n reset_password_token_null?: InputMaybe<Scalars['String']['input']>;\n reset_password_token_start?: InputMaybe<Scalars['String']['input']>;\n role_id_eq?: InputMaybe<Scalars['String']['input']>;\n role_id_equals?: InputMaybe<Scalars['String']['input']>;\n role_id_gt?: InputMaybe<Scalars['String']['input']>;\n role_id_gteq?: InputMaybe<Scalars['String']['input']>;\n role_id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n role_id_lt?: InputMaybe<Scalars['String']['input']>;\n role_id_lteq?: InputMaybe<Scalars['String']['input']>;\n role_id_not_eq?: InputMaybe<Scalars['String']['input']>;\n role_id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n role_id_not_null?: InputMaybe<Scalars['String']['input']>;\n role_id_null?: InputMaybe<Scalars['String']['input']>;\n sign_in_count_eq?: InputMaybe<Scalars['String']['input']>;\n sign_in_count_equals?: InputMaybe<Scalars['String']['input']>;\n sign_in_count_gt?: InputMaybe<Scalars['String']['input']>;\n sign_in_count_gteq?: InputMaybe<Scalars['String']['input']>;\n sign_in_count_in?: InputMaybe<Array<Scalars['String']['input']>>;\n sign_in_count_lt?: InputMaybe<Scalars['String']['input']>;\n sign_in_count_lteq?: InputMaybe<Scalars['String']['input']>;\n sign_in_count_not_eq?: InputMaybe<Scalars['String']['input']>;\n sign_in_count_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n sign_in_count_not_null?: InputMaybe<Scalars['String']['input']>;\n sign_in_count_null?: InputMaybe<Scalars['String']['input']>;\n team_id_eq?: InputMaybe<Scalars['String']['input']>;\n team_id_equals?: InputMaybe<Scalars['String']['input']>;\n team_id_gt?: InputMaybe<Scalars['String']['input']>;\n team_id_gteq?: InputMaybe<Scalars['String']['input']>;\n team_id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n team_id_lt?: InputMaybe<Scalars['String']['input']>;\n team_id_lteq?: InputMaybe<Scalars['String']['input']>;\n team_id_not_eq?: InputMaybe<Scalars['String']['input']>;\n team_id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n team_id_not_null?: InputMaybe<Scalars['String']['input']>;\n team_id_null?: InputMaybe<Scalars['String']['input']>;\n tokens_cont?: InputMaybe<Scalars['String']['input']>;\n tokens_contains?: InputMaybe<Scalars['String']['input']>;\n tokens_end?: InputMaybe<Scalars['String']['input']>;\n tokens_eq?: InputMaybe<Scalars['String']['input']>;\n tokens_equals?: InputMaybe<Scalars['String']['input']>;\n tokens_in?: InputMaybe<Array<Scalars['String']['input']>>;\n tokens_not_eq?: InputMaybe<Scalars['String']['input']>;\n tokens_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n tokens_not_null?: InputMaybe<Scalars['String']['input']>;\n tokens_null?: InputMaybe<Scalars['String']['input']>;\n tokens_start?: InputMaybe<Scalars['String']['input']>;\n uid_cont?: InputMaybe<Scalars['String']['input']>;\n uid_contains?: InputMaybe<Scalars['String']['input']>;\n uid_end?: InputMaybe<Scalars['String']['input']>;\n uid_eq?: InputMaybe<Scalars['String']['input']>;\n uid_equals?: InputMaybe<Scalars['String']['input']>;\n uid_in?: InputMaybe<Array<Scalars['String']['input']>>;\n uid_not_eq?: InputMaybe<Scalars['String']['input']>;\n uid_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n uid_not_null?: InputMaybe<Scalars['String']['input']>;\n uid_null?: InputMaybe<Scalars['String']['input']>;\n uid_start?: InputMaybe<Scalars['String']['input']>;\n unconfirmed_email_cont?: InputMaybe<Scalars['String']['input']>;\n unconfirmed_email_contains?: InputMaybe<Scalars['String']['input']>;\n unconfirmed_email_end?: InputMaybe<Scalars['String']['input']>;\n unconfirmed_email_eq?: InputMaybe<Scalars['String']['input']>;\n unconfirmed_email_equals?: InputMaybe<Scalars['String']['input']>;\n unconfirmed_email_in?: InputMaybe<Array<Scalars['String']['input']>>;\n unconfirmed_email_not_eq?: InputMaybe<Scalars['String']['input']>;\n unconfirmed_email_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n unconfirmed_email_not_null?: InputMaybe<Scalars['String']['input']>;\n unconfirmed_email_null?: InputMaybe<Scalars['String']['input']>;\n unconfirmed_email_start?: InputMaybe<Scalars['String']['input']>;\n updated_at_eq?: InputMaybe<Scalars['String']['input']>;\n updated_at_equals?: InputMaybe<Scalars['String']['input']>;\n updated_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n updated_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n updated_at_not_null?: InputMaybe<Scalars['String']['input']>;\n updated_at_null?: InputMaybe<Scalars['String']['input']>;\n username_cont?: InputMaybe<Scalars['String']['input']>;\n username_contains?: InputMaybe<Scalars['String']['input']>;\n username_end?: InputMaybe<Scalars['String']['input']>;\n username_eq?: InputMaybe<Scalars['String']['input']>;\n username_equals?: InputMaybe<Scalars['String']['input']>;\n username_in?: InputMaybe<Array<Scalars['String']['input']>>;\n username_not_eq?: InputMaybe<Scalars['String']['input']>;\n username_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n username_not_null?: InputMaybe<Scalars['String']['input']>;\n username_null?: InputMaybe<Scalars['String']['input']>;\n username_start?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type UserPresence = {\n __typename?: 'UserPresence';\n author: User;\n finishedAt?: Maybe<Scalars['String']['output']>;\n id: Scalars['ID']['output'];\n startedAt: Scalars['String']['output'];\n user: User;\n workplaceId: Scalars['String']['output'];\n};\n\nexport type UserPresenceFilter = {\n author_id_eq?: InputMaybe<Scalars['String']['input']>;\n author_id_equals?: InputMaybe<Scalars['String']['input']>;\n author_id_gt?: InputMaybe<Scalars['String']['input']>;\n author_id_gteq?: InputMaybe<Scalars['String']['input']>;\n author_id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n author_id_lt?: InputMaybe<Scalars['String']['input']>;\n author_id_lteq?: InputMaybe<Scalars['String']['input']>;\n author_id_not_eq?: InputMaybe<Scalars['String']['input']>;\n author_id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n author_id_not_null?: InputMaybe<Scalars['String']['input']>;\n author_id_null?: InputMaybe<Scalars['String']['input']>;\n auto_closed_eq?: InputMaybe<Scalars['String']['input']>;\n auto_closed_equals?: InputMaybe<Scalars['String']['input']>;\n company_id_eq?: InputMaybe<Scalars['String']['input']>;\n company_id_equals?: InputMaybe<Scalars['String']['input']>;\n company_id_gt?: InputMaybe<Scalars['String']['input']>;\n company_id_gteq?: InputMaybe<Scalars['String']['input']>;\n company_id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n company_id_lt?: InputMaybe<Scalars['String']['input']>;\n company_id_lteq?: InputMaybe<Scalars['String']['input']>;\n company_id_not_eq?: InputMaybe<Scalars['String']['input']>;\n company_id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n company_id_not_null?: InputMaybe<Scalars['String']['input']>;\n company_id_null?: InputMaybe<Scalars['String']['input']>;\n created_at_eq?: InputMaybe<Scalars['String']['input']>;\n created_at_equals?: InputMaybe<Scalars['String']['input']>;\n created_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n created_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n created_at_not_null?: InputMaybe<Scalars['String']['input']>;\n created_at_null?: InputMaybe<Scalars['String']['input']>;\n finished_at_eq?: InputMaybe<Scalars['String']['input']>;\n finished_at_equals?: InputMaybe<Scalars['String']['input']>;\n finished_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n finished_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n finished_at_not_null?: InputMaybe<Scalars['String']['input']>;\n finished_at_null?: InputMaybe<Scalars['String']['input']>;\n id_eq?: InputMaybe<Scalars['String']['input']>;\n id_equals?: InputMaybe<Scalars['String']['input']>;\n id_gt?: InputMaybe<Scalars['String']['input']>;\n id_gteq?: InputMaybe<Scalars['String']['input']>;\n id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n id_lt?: InputMaybe<Scalars['String']['input']>;\n id_lteq?: InputMaybe<Scalars['String']['input']>;\n id_not_eq?: InputMaybe<Scalars['String']['input']>;\n id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n id_not_null?: InputMaybe<Scalars['String']['input']>;\n id_null?: InputMaybe<Scalars['String']['input']>;\n period?: InputMaybe<Period>;\n shift_id_eq?: InputMaybe<Scalars['String']['input']>;\n shift_id_equals?: InputMaybe<Scalars['String']['input']>;\n shift_id_gt?: InputMaybe<Scalars['String']['input']>;\n shift_id_gteq?: InputMaybe<Scalars['String']['input']>;\n shift_id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n shift_id_lt?: InputMaybe<Scalars['String']['input']>;\n shift_id_lteq?: InputMaybe<Scalars['String']['input']>;\n shift_id_not_eq?: InputMaybe<Scalars['String']['input']>;\n shift_id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n shift_id_not_null?: InputMaybe<Scalars['String']['input']>;\n shift_id_null?: InputMaybe<Scalars['String']['input']>;\n started_at_eq?: InputMaybe<Scalars['String']['input']>;\n started_at_equals?: InputMaybe<Scalars['String']['input']>;\n started_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n started_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n started_at_not_null?: InputMaybe<Scalars['String']['input']>;\n started_at_null?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_eq?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_equals?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_gt?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_gteq?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n subgroup_id_lt?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_lteq?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_not_eq?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n subgroup_id_not_null?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_null?: InputMaybe<Scalars['String']['input']>;\n updated_at_eq?: InputMaybe<Scalars['String']['input']>;\n updated_at_equals?: InputMaybe<Scalars['String']['input']>;\n updated_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n updated_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n updated_at_not_null?: InputMaybe<Scalars['String']['input']>;\n updated_at_null?: InputMaybe<Scalars['String']['input']>;\n user_id_eq?: InputMaybe<Scalars['String']['input']>;\n user_id_equals?: InputMaybe<Scalars['String']['input']>;\n user_id_gt?: InputMaybe<Scalars['String']['input']>;\n user_id_gteq?: InputMaybe<Scalars['String']['input']>;\n user_id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n user_id_lt?: InputMaybe<Scalars['String']['input']>;\n user_id_lteq?: InputMaybe<Scalars['String']['input']>;\n user_id_not_eq?: InputMaybe<Scalars['String']['input']>;\n user_id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n user_id_not_null?: InputMaybe<Scalars['String']['input']>;\n user_id_null?: InputMaybe<Scalars['String']['input']>;\n uuid_eq?: InputMaybe<Scalars['String']['input']>;\n uuid_equals?: InputMaybe<Scalars['String']['input']>;\n uuid_in?: InputMaybe<Array<Scalars['String']['input']>>;\n uuid_not_eq?: InputMaybe<Scalars['String']['input']>;\n uuid_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n uuid_not_null?: InputMaybe<Scalars['String']['input']>;\n uuid_null?: InputMaybe<Scalars['String']['input']>;\n workplace_id_cont?: InputMaybe<Scalars['String']['input']>;\n workplace_id_contains?: InputMaybe<Scalars['String']['input']>;\n workplace_id_end?: InputMaybe<Scalars['String']['input']>;\n workplace_id_eq?: InputMaybe<Scalars['String']['input']>;\n workplace_id_equals?: InputMaybe<Scalars['String']['input']>;\n workplace_id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n workplace_id_not_eq?: InputMaybe<Scalars['String']['input']>;\n workplace_id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n workplace_id_not_null?: InputMaybe<Scalars['String']['input']>;\n workplace_id_null?: InputMaybe<Scalars['String']['input']>;\n workplace_id_start?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type Widget = {\n __typename?: 'Widget';\n config?: Maybe<Scalars['String']['output']>;\n id: Scalars['ID']['output'];\n};\n\nexport type WidgetFilter = {\n company_id_eq?: InputMaybe<Scalars['String']['input']>;\n company_id_equals?: InputMaybe<Scalars['String']['input']>;\n company_id_gt?: InputMaybe<Scalars['String']['input']>;\n company_id_gteq?: InputMaybe<Scalars['String']['input']>;\n company_id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n company_id_lt?: InputMaybe<Scalars['String']['input']>;\n company_id_lteq?: InputMaybe<Scalars['String']['input']>;\n company_id_not_eq?: InputMaybe<Scalars['String']['input']>;\n company_id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n company_id_not_null?: InputMaybe<Scalars['String']['input']>;\n company_id_null?: InputMaybe<Scalars['String']['input']>;\n config_contains?: InputMaybe<Scalars['String']['input']>;\n created_at_eq?: InputMaybe<Scalars['String']['input']>;\n created_at_equals?: InputMaybe<Scalars['String']['input']>;\n created_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n created_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n created_at_not_null?: InputMaybe<Scalars['String']['input']>;\n created_at_null?: InputMaybe<Scalars['String']['input']>;\n id_eq?: InputMaybe<Scalars['String']['input']>;\n id_equals?: InputMaybe<Scalars['String']['input']>;\n id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n id_not_eq?: InputMaybe<Scalars['String']['input']>;\n id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n id_not_null?: InputMaybe<Scalars['String']['input']>;\n id_null?: InputMaybe<Scalars['String']['input']>;\n updated_at_eq?: InputMaybe<Scalars['String']['input']>;\n updated_at_equals?: InputMaybe<Scalars['String']['input']>;\n updated_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n updated_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n updated_at_not_null?: InputMaybe<Scalars['String']['input']>;\n updated_at_null?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type WorkOrder = {\n __typename?: 'WorkOrder';\n assignees: Array<User>;\n category?: Maybe<WorkOrderCategory>;\n closedAt?: Maybe<Scalars['String']['output']>;\n createdAt: Scalars['String']['output'];\n creationMethod: WorkOrderCreationMethodEnum;\n description?: Maybe<Scalars['String']['output']>;\n dtrUrl?: Maybe<Scalars['String']['output']>;\n dueAt?: Maybe<Scalars['String']['output']>;\n id: Scalars['ID']['output'];\n name: Scalars['String']['output'];\n note?: Maybe<Scalars['String']['output']>;\n originalOccurrenceAt?: Maybe<Scalars['String']['output']>;\n priority: WorkOrderPriorityEnum;\n procedureDescription?: Maybe<Scalars['String']['output']>;\n procedureName?: Maybe<Scalars['String']['output']>;\n procedureResponse: Scalars['JSON']['output'];\n procedureTemplate: Scalars['JSON']['output'];\n startAt?: Maybe<Scalars['String']['output']>;\n status: WorkOrderStatusEnum;\n timeSpentHours?: Maybe<Scalars['Int']['output']>;\n timeSpentMinutes?: Maybe<Scalars['Int']['output']>;\n updatedAt: Scalars['String']['output'];\n workplaces: Array<Workplace>;\n};\n\nexport type WorkOrderCategory = {\n __typename?: 'WorkOrderCategory';\n description?: Maybe<Scalars['String']['output']>;\n id: Scalars['ID']['output'];\n name: Scalars['String']['output'];\n};\n\nexport enum WorkOrderCreationMethodEnum {\n ConditionBased = 'CONDITION_BASED',\n EventBased = 'EVENT_BASED',\n Manual = 'MANUAL',\n Scheduled = 'SCHEDULED',\n}\n\nexport type WorkOrderFilter = {\n creation_method_eq?: InputMaybe<WorkOrderCreationMethodEnum>;\n creation_method_equals?: InputMaybe<WorkOrderCreationMethodEnum>;\n creation_method_in?: InputMaybe<Array<WorkOrderCreationMethodEnum>>;\n creation_method_not_in?: InputMaybe<Array<WorkOrderCreationMethodEnum>>;\n id_eq?: InputMaybe<Scalars['ID']['input']>;\n id_in?: InputMaybe<Array<Scalars['ID']['input']>>;\n id_not_eq?: InputMaybe<Scalars['ID']['input']>;\n id_not_in?: InputMaybe<Array<Scalars['ID']['input']>>;\n priority_eq?: InputMaybe<WorkOrderPriorityEnum>;\n priority_equals?: InputMaybe<WorkOrderPriorityEnum>;\n priority_in?: InputMaybe<Array<WorkOrderPriorityEnum>>;\n priority_not_in?: InputMaybe<Array<WorkOrderPriorityEnum>>;\n s?: InputMaybe<Scalars['String']['input']>;\n status_eq?: InputMaybe<WorkOrderStatusEnum>;\n status_equals?: InputMaybe<WorkOrderStatusEnum>;\n status_in?: InputMaybe<Array<WorkOrderStatusEnum>>;\n status_not_in?: InputMaybe<Array<WorkOrderStatusEnum>>;\n workplace_ids_in?: InputMaybe<Array<Scalars['ID']['input']>>;\n workplace_ids_not_in?: InputMaybe<Array<Scalars['ID']['input']>>;\n};\n\nexport enum WorkOrderPriorityEnum {\n Critical = 'CRITICAL',\n High = 'HIGH',\n Low = 'LOW',\n Normal = 'NORMAL',\n}\n\nexport enum WorkOrderStatusEnum {\n Canceled = 'CANCELED',\n Done = 'DONE',\n InProgress = 'IN_PROGRESS',\n OnHold = 'ON_HOLD',\n Open = 'OPEN',\n}\n\nexport type WorkOrdersInsightsCategoryEntry = {\n __typename?: 'WorkOrdersInsightsCategoryEntry';\n categoryId: Scalars['ID']['output'];\n categoryName: Scalars['String']['output'];\n durations: Array<WorkOrdersInsightsDurationEntry>;\n totalCount: Scalars['Int']['output'];\n};\n\nexport type WorkOrdersInsightsDurationEntry = {\n __typename?: 'WorkOrdersInsightsDurationEntry';\n count: Scalars['Int']['output'];\n lowerBoundMinutes?: Maybe<Scalars['Int']['output']>;\n upperBoundMinutes?: Maybe<Scalars['Int']['output']>;\n};\n\nexport type WorkOrdersInsightsInput = {\n categoryIds?: InputMaybe<Array<Scalars['ID']['input']>>;\n dateFrom: Scalars['ISO8601DateTime']['input'];\n dateTo: Scalars['ISO8601DateTime']['input'];\n dayType: DayType;\n durationBoundaries: Array<Scalars['Int']['input']>;\n};\n\nexport type WorkOrdersInsightsResult = {\n __typename?: 'WorkOrdersInsightsResult';\n categories: Array<WorkOrdersInsightsCategoryEntry>;\n};\n\nexport type Workplace = {\n __typename?: 'Workplace';\n colorHex?: Maybe<Scalars['String']['output']>;\n currentStatusChange?: Maybe<StatusChange>;\n deactivated: Scalars['Boolean']['output'];\n departmentId?: Maybe<Scalars['String']['output']>;\n dtrUrl?: Maybe<Scalars['String']['output']>;\n id: Scalars['ID']['output'];\n minOperators: Scalars['Int']['output'];\n name: Scalars['String']['output'];\n reasonGroupId: Scalars['String']['output'];\n reasonsRecommendationsEnabled: Scalars['Boolean']['output'];\n};\n\nexport type WorkplaceAssignment = {\n __typename?: 'WorkplaceAssignment';\n createdAt: Scalars['ISO8601DateTime']['output'];\n id: Scalars['ID']['output'];\n shift: Shift;\n user: User;\n validFrom: Scalars['ISO8601Date']['output'];\n workplace?: Maybe<Workplace>;\n};\n\nexport type WorkplaceAssignmentsInput = {\n date: Scalars['ISO8601DateTime']['input'];\n departmentId?: InputMaybe<Scalars['ID']['input']>;\n shiftId: Scalars['ID']['input'];\n};\n\nexport type WorkplaceAssignmentsView = {\n __typename?: 'WorkplaceAssignmentsView';\n summary: AssignmentSummary;\n unassignedOperators: Array<User>;\n workplaces: Array<WorkplaceWithAssignment>;\n};\n\nexport type WorkplaceConfig = {\n __typename?: 'WorkplaceConfig';\n defaultScreen: ScreenEnum;\n menuDisplayItems: Array<ScreenEnum>;\n orderConfig: OrderConfig;\n orderExecutionConfig: OrderExecutionConfig;\n productConfig: ProductConfig;\n productionMode: ProductionMode;\n screenSaverConfig: ScreenSaverConfig;\n statusScreenDisplayBlocks?: Maybe<Array<StatusScreenDisplayBlocksEnum>>;\n workplaceId: Scalars['ID']['output'];\n};\n\nexport enum WorkplaceEvent {\n AllStatusChangeTransitionPermissionsUpdated = 'ALL_STATUS_CHANGE_TRANSITION_PERMISSIONS_UPDATED',\n CounterUpdated = 'COUNTER_UPDATED',\n CurrentShiftChanged = 'CURRENT_SHIFT_CHANGED',\n MetricValueUpdated = 'METRIC_VALUE_UPDATED',\n NotificationCreated = 'NOTIFICATION_CREATED',\n OrderExecutionUpdated = 'ORDER_EXECUTION_UPDATED',\n OrderUpdated = 'ORDER_UPDATED',\n StatusChangeCreated = 'STATUS_CHANGE_CREATED',\n StatusChangeUpdated = 'STATUS_CHANGE_UPDATED',\n UserPresenceCreated = 'USER_PRESENCE_CREATED',\n UserPresenceUpdated = 'USER_PRESENCE_UPDATED',\n}\n\nexport type WorkplaceEventSubjectUnion =\n | Counter\n | Item\n | MetricValue\n | Notification\n | Order\n | OrderExecution\n | Shift\n | StatusChange\n | UserPresence;\n\n/** Autogenerated return type of WorkplaceEventSubscription */\nexport type WorkplaceEventSubscriptionPayload = {\n __typename?: 'WorkplaceEventSubscriptionPayload';\n event: WorkplaceEvent;\n subject?: Maybe<WorkplaceEventSubjectUnion>;\n};\n\nexport type WorkplaceFilter = {\n availability_boost_eq?: InputMaybe<Scalars['String']['input']>;\n availability_boost_equals?: InputMaybe<Scalars['String']['input']>;\n availability_boost_gt?: InputMaybe<Scalars['String']['input']>;\n availability_boost_gteq?: InputMaybe<Scalars['String']['input']>;\n availability_boost_in?: InputMaybe<Array<Scalars['String']['input']>>;\n availability_boost_lt?: InputMaybe<Scalars['String']['input']>;\n availability_boost_lteq?: InputMaybe<Scalars['String']['input']>;\n availability_boost_not_eq?: InputMaybe<Scalars['String']['input']>;\n availability_boost_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n availability_boost_not_null?: InputMaybe<Scalars['String']['input']>;\n availability_boost_null?: InputMaybe<Scalars['String']['input']>;\n availability_target_eq?: InputMaybe<Scalars['String']['input']>;\n availability_target_equals?: InputMaybe<Scalars['String']['input']>;\n availability_target_gt?: InputMaybe<Scalars['String']['input']>;\n availability_target_gteq?: InputMaybe<Scalars['String']['input']>;\n availability_target_in?: InputMaybe<Array<Scalars['String']['input']>>;\n availability_target_lt?: InputMaybe<Scalars['String']['input']>;\n availability_target_lteq?: InputMaybe<Scalars['String']['input']>;\n availability_target_not_eq?: InputMaybe<Scalars['String']['input']>;\n availability_target_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n availability_target_not_null?: InputMaybe<Scalars['String']['input']>;\n availability_target_null?: InputMaybe<Scalars['String']['input']>;\n color_hex_cont?: InputMaybe<Scalars['String']['input']>;\n color_hex_contains?: InputMaybe<Scalars['String']['input']>;\n color_hex_end?: InputMaybe<Scalars['String']['input']>;\n color_hex_eq?: InputMaybe<Scalars['String']['input']>;\n color_hex_equals?: InputMaybe<Scalars['String']['input']>;\n color_hex_in?: InputMaybe<Array<Scalars['String']['input']>>;\n color_hex_not_eq?: InputMaybe<Scalars['String']['input']>;\n color_hex_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n color_hex_not_null?: InputMaybe<Scalars['String']['input']>;\n color_hex_null?: InputMaybe<Scalars['String']['input']>;\n color_hex_start?: InputMaybe<Scalars['String']['input']>;\n company_id_eq?: InputMaybe<Scalars['String']['input']>;\n company_id_equals?: InputMaybe<Scalars['String']['input']>;\n company_id_gt?: InputMaybe<Scalars['String']['input']>;\n company_id_gteq?: InputMaybe<Scalars['String']['input']>;\n company_id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n company_id_lt?: InputMaybe<Scalars['String']['input']>;\n company_id_lteq?: InputMaybe<Scalars['String']['input']>;\n company_id_not_eq?: InputMaybe<Scalars['String']['input']>;\n company_id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n company_id_not_null?: InputMaybe<Scalars['String']['input']>;\n company_id_null?: InputMaybe<Scalars['String']['input']>;\n created_at_eq?: InputMaybe<Scalars['String']['input']>;\n created_at_equals?: InputMaybe<Scalars['String']['input']>;\n created_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n created_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n created_at_not_null?: InputMaybe<Scalars['String']['input']>;\n created_at_null?: InputMaybe<Scalars['String']['input']>;\n current_order_id_eq?: InputMaybe<Scalars['String']['input']>;\n current_order_id_equals?: InputMaybe<Scalars['String']['input']>;\n current_order_id_gt?: InputMaybe<Scalars['String']['input']>;\n current_order_id_gteq?: InputMaybe<Scalars['String']['input']>;\n current_order_id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n current_order_id_lt?: InputMaybe<Scalars['String']['input']>;\n current_order_id_lteq?: InputMaybe<Scalars['String']['input']>;\n current_order_id_not_eq?: InputMaybe<Scalars['String']['input']>;\n current_order_id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n current_order_id_not_null?: InputMaybe<Scalars['String']['input']>;\n current_order_id_null?: InputMaybe<Scalars['String']['input']>;\n deactivated_eq?: InputMaybe<Scalars['String']['input']>;\n deactivated_equals?: InputMaybe<Scalars['String']['input']>;\n deleted_at_eq?: InputMaybe<Scalars['String']['input']>;\n deleted_at_equals?: InputMaybe<Scalars['String']['input']>;\n deleted_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n deleted_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n deleted_at_not_null?: InputMaybe<Scalars['String']['input']>;\n deleted_at_null?: InputMaybe<Scalars['String']['input']>;\n department_id_eq?: InputMaybe<Scalars['String']['input']>;\n department_id_equals?: InputMaybe<Scalars['String']['input']>;\n department_id_gt?: InputMaybe<Scalars['String']['input']>;\n department_id_gteq?: InputMaybe<Scalars['String']['input']>;\n department_id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n department_id_lt?: InputMaybe<Scalars['String']['input']>;\n department_id_lteq?: InputMaybe<Scalars['String']['input']>;\n department_id_not_eq?: InputMaybe<Scalars['String']['input']>;\n department_id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n department_id_not_null?: InputMaybe<Scalars['String']['input']>;\n department_id_null?: InputMaybe<Scalars['String']['input']>;\n id_eq?: InputMaybe<Scalars['String']['input']>;\n id_equals?: InputMaybe<Scalars['String']['input']>;\n id_gt?: InputMaybe<Scalars['String']['input']>;\n id_gteq?: InputMaybe<Scalars['String']['input']>;\n id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n id_lt?: InputMaybe<Scalars['String']['input']>;\n id_lteq?: InputMaybe<Scalars['String']['input']>;\n id_not_eq?: InputMaybe<Scalars['String']['input']>;\n id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n id_not_null?: InputMaybe<Scalars['String']['input']>;\n id_null?: InputMaybe<Scalars['String']['input']>;\n meta_contains?: InputMaybe<Scalars['String']['input']>;\n min_operators_eq?: InputMaybe<Scalars['String']['input']>;\n min_operators_equals?: InputMaybe<Scalars['String']['input']>;\n min_operators_gt?: InputMaybe<Scalars['String']['input']>;\n min_operators_gteq?: InputMaybe<Scalars['String']['input']>;\n min_operators_in?: InputMaybe<Array<Scalars['String']['input']>>;\n min_operators_lt?: InputMaybe<Scalars['String']['input']>;\n min_operators_lteq?: InputMaybe<Scalars['String']['input']>;\n min_operators_not_eq?: InputMaybe<Scalars['String']['input']>;\n min_operators_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n min_operators_not_null?: InputMaybe<Scalars['String']['input']>;\n min_operators_null?: InputMaybe<Scalars['String']['input']>;\n name_cont?: InputMaybe<Scalars['String']['input']>;\n name_contains?: InputMaybe<Scalars['String']['input']>;\n name_en_cont?: InputMaybe<Scalars['String']['input']>;\n name_en_contains?: InputMaybe<Scalars['String']['input']>;\n name_en_end?: InputMaybe<Scalars['String']['input']>;\n name_en_eq?: InputMaybe<Scalars['String']['input']>;\n name_en_equals?: InputMaybe<Scalars['String']['input']>;\n name_en_in?: InputMaybe<Array<Scalars['String']['input']>>;\n name_en_not_eq?: InputMaybe<Scalars['String']['input']>;\n name_en_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n name_en_not_null?: InputMaybe<Scalars['String']['input']>;\n name_en_null?: InputMaybe<Scalars['String']['input']>;\n name_en_start?: InputMaybe<Scalars['String']['input']>;\n name_end?: InputMaybe<Scalars['String']['input']>;\n name_eq?: InputMaybe<Scalars['String']['input']>;\n name_equals?: InputMaybe<Scalars['String']['input']>;\n name_in?: InputMaybe<Array<Scalars['String']['input']>>;\n name_not_eq?: InputMaybe<Scalars['String']['input']>;\n name_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n name_not_null?: InputMaybe<Scalars['String']['input']>;\n name_null?: InputMaybe<Scalars['String']['input']>;\n name_pl_cont?: InputMaybe<Scalars['String']['input']>;\n name_pl_contains?: InputMaybe<Scalars['String']['input']>;\n name_pl_end?: InputMaybe<Scalars['String']['input']>;\n name_pl_eq?: InputMaybe<Scalars['String']['input']>;\n name_pl_equals?: InputMaybe<Scalars['String']['input']>;\n name_pl_in?: InputMaybe<Array<Scalars['String']['input']>>;\n name_pl_not_eq?: InputMaybe<Scalars['String']['input']>;\n name_pl_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n name_pl_not_null?: InputMaybe<Scalars['String']['input']>;\n name_pl_null?: InputMaybe<Scalars['String']['input']>;\n name_pl_start?: InputMaybe<Scalars['String']['input']>;\n name_start?: InputMaybe<Scalars['String']['input']>;\n oee_boost_eq?: InputMaybe<Scalars['String']['input']>;\n oee_boost_equals?: InputMaybe<Scalars['String']['input']>;\n oee_boost_gt?: InputMaybe<Scalars['String']['input']>;\n oee_boost_gteq?: InputMaybe<Scalars['String']['input']>;\n oee_boost_in?: InputMaybe<Array<Scalars['String']['input']>>;\n oee_boost_lt?: InputMaybe<Scalars['String']['input']>;\n oee_boost_lteq?: InputMaybe<Scalars['String']['input']>;\n oee_boost_not_eq?: InputMaybe<Scalars['String']['input']>;\n oee_boost_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n oee_boost_not_null?: InputMaybe<Scalars['String']['input']>;\n oee_boost_null?: InputMaybe<Scalars['String']['input']>;\n oee_target_eq?: InputMaybe<Scalars['String']['input']>;\n oee_target_equals?: InputMaybe<Scalars['String']['input']>;\n oee_target_gt?: InputMaybe<Scalars['String']['input']>;\n oee_target_gteq?: InputMaybe<Scalars['String']['input']>;\n oee_target_in?: InputMaybe<Array<Scalars['String']['input']>>;\n oee_target_lt?: InputMaybe<Scalars['String']['input']>;\n oee_target_lteq?: InputMaybe<Scalars['String']['input']>;\n oee_target_not_eq?: InputMaybe<Scalars['String']['input']>;\n oee_target_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n oee_target_not_null?: InputMaybe<Scalars['String']['input']>;\n oee_target_null?: InputMaybe<Scalars['String']['input']>;\n performance_boost_eq?: InputMaybe<Scalars['String']['input']>;\n performance_boost_equals?: InputMaybe<Scalars['String']['input']>;\n performance_boost_gt?: InputMaybe<Scalars['String']['input']>;\n performance_boost_gteq?: InputMaybe<Scalars['String']['input']>;\n performance_boost_in?: InputMaybe<Array<Scalars['String']['input']>>;\n performance_boost_lt?: InputMaybe<Scalars['String']['input']>;\n performance_boost_lteq?: InputMaybe<Scalars['String']['input']>;\n performance_boost_not_eq?: InputMaybe<Scalars['String']['input']>;\n performance_boost_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n performance_boost_not_null?: InputMaybe<Scalars['String']['input']>;\n performance_boost_null?: InputMaybe<Scalars['String']['input']>;\n performance_target_eq?: InputMaybe<Scalars['String']['input']>;\n performance_target_equals?: InputMaybe<Scalars['String']['input']>;\n performance_target_gt?: InputMaybe<Scalars['String']['input']>;\n performance_target_gteq?: InputMaybe<Scalars['String']['input']>;\n performance_target_in?: InputMaybe<Array<Scalars['String']['input']>>;\n performance_target_lt?: InputMaybe<Scalars['String']['input']>;\n performance_target_lteq?: InputMaybe<Scalars['String']['input']>;\n performance_target_not_eq?: InputMaybe<Scalars['String']['input']>;\n performance_target_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n performance_target_not_null?: InputMaybe<Scalars['String']['input']>;\n performance_target_null?: InputMaybe<Scalars['String']['input']>;\n production_mode_eq?: InputMaybe<Scalars['String']['input']>;\n production_mode_equals?: InputMaybe<Scalars['String']['input']>;\n production_mode_gt?: InputMaybe<Scalars['String']['input']>;\n production_mode_gteq?: InputMaybe<Scalars['String']['input']>;\n production_mode_in?: InputMaybe<Array<Scalars['String']['input']>>;\n production_mode_lt?: InputMaybe<Scalars['String']['input']>;\n production_mode_lteq?: InputMaybe<Scalars['String']['input']>;\n production_mode_not_eq?: InputMaybe<Scalars['String']['input']>;\n production_mode_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n production_mode_not_null?: InputMaybe<Scalars['String']['input']>;\n production_mode_null?: InputMaybe<Scalars['String']['input']>;\n quality_boost_eq?: InputMaybe<Scalars['String']['input']>;\n quality_boost_equals?: InputMaybe<Scalars['String']['input']>;\n quality_boost_gt?: InputMaybe<Scalars['String']['input']>;\n quality_boost_gteq?: InputMaybe<Scalars['String']['input']>;\n quality_boost_in?: InputMaybe<Array<Scalars['String']['input']>>;\n quality_boost_lt?: InputMaybe<Scalars['String']['input']>;\n quality_boost_lteq?: InputMaybe<Scalars['String']['input']>;\n quality_boost_not_eq?: InputMaybe<Scalars['String']['input']>;\n quality_boost_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n quality_boost_not_null?: InputMaybe<Scalars['String']['input']>;\n quality_boost_null?: InputMaybe<Scalars['String']['input']>;\n quality_target_eq?: InputMaybe<Scalars['String']['input']>;\n quality_target_equals?: InputMaybe<Scalars['String']['input']>;\n quality_target_gt?: InputMaybe<Scalars['String']['input']>;\n quality_target_gteq?: InputMaybe<Scalars['String']['input']>;\n quality_target_in?: InputMaybe<Array<Scalars['String']['input']>>;\n quality_target_lt?: InputMaybe<Scalars['String']['input']>;\n quality_target_lteq?: InputMaybe<Scalars['String']['input']>;\n quality_target_not_eq?: InputMaybe<Scalars['String']['input']>;\n quality_target_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n quality_target_not_null?: InputMaybe<Scalars['String']['input']>;\n quality_target_null?: InputMaybe<Scalars['String']['input']>;\n reason_group_id_eq?: InputMaybe<Scalars['String']['input']>;\n reason_group_id_equals?: InputMaybe<Scalars['String']['input']>;\n reason_group_id_gt?: InputMaybe<Scalars['String']['input']>;\n reason_group_id_gteq?: InputMaybe<Scalars['String']['input']>;\n reason_group_id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n reason_group_id_lt?: InputMaybe<Scalars['String']['input']>;\n reason_group_id_lteq?: InputMaybe<Scalars['String']['input']>;\n reason_group_id_not_eq?: InputMaybe<Scalars['String']['input']>;\n reason_group_id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n reason_group_id_not_null?: InputMaybe<Scalars['String']['input']>;\n reason_group_id_null?: InputMaybe<Scalars['String']['input']>;\n reasons_recommendations_enabled_eq?: InputMaybe<Scalars['String']['input']>;\n reasons_recommendations_enabled_equals?: InputMaybe<Scalars['String']['input']>;\n screen_saver_auto_sign_out_eq?: InputMaybe<Scalars['String']['input']>;\n screen_saver_auto_sign_out_equals?: InputMaybe<Scalars['String']['input']>;\n screen_saver_display_after_idle_eq?: InputMaybe<Scalars['String']['input']>;\n screen_saver_display_after_idle_equals?: InputMaybe<Scalars['String']['input']>;\n screen_saver_display_after_order_created_eq?: InputMaybe<Scalars['String']['input']>;\n screen_saver_display_after_order_created_equals?: InputMaybe<Scalars['String']['input']>;\n screen_saver_display_after_status_change_created_eq?: InputMaybe<Scalars['String']['input']>;\n screen_saver_display_after_status_change_created_equals?: InputMaybe<Scalars['String']['input']>;\n screen_saver_enabled_eq?: InputMaybe<Scalars['String']['input']>;\n screen_saver_enabled_equals?: InputMaybe<Scalars['String']['input']>;\n screen_saver_idle_time_eq?: InputMaybe<Scalars['String']['input']>;\n screen_saver_idle_time_equals?: InputMaybe<Scalars['String']['input']>;\n screen_saver_idle_time_gt?: InputMaybe<Scalars['String']['input']>;\n screen_saver_idle_time_gteq?: InputMaybe<Scalars['String']['input']>;\n screen_saver_idle_time_in?: InputMaybe<Array<Scalars['String']['input']>>;\n screen_saver_idle_time_lt?: InputMaybe<Scalars['String']['input']>;\n screen_saver_idle_time_lteq?: InputMaybe<Scalars['String']['input']>;\n screen_saver_idle_time_not_eq?: InputMaybe<Scalars['String']['input']>;\n screen_saver_idle_time_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n screen_saver_idle_time_not_null?: InputMaybe<Scalars['String']['input']>;\n screen_saver_idle_time_null?: InputMaybe<Scalars['String']['input']>;\n shift_end_reason_id_eq?: InputMaybe<Scalars['String']['input']>;\n shift_end_reason_id_equals?: InputMaybe<Scalars['String']['input']>;\n shift_end_reason_id_gt?: InputMaybe<Scalars['String']['input']>;\n shift_end_reason_id_gteq?: InputMaybe<Scalars['String']['input']>;\n shift_end_reason_id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n shift_end_reason_id_lt?: InputMaybe<Scalars['String']['input']>;\n shift_end_reason_id_lteq?: InputMaybe<Scalars['String']['input']>;\n shift_end_reason_id_not_eq?: InputMaybe<Scalars['String']['input']>;\n shift_end_reason_id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n shift_end_reason_id_not_null?: InputMaybe<Scalars['String']['input']>;\n shift_end_reason_id_null?: InputMaybe<Scalars['String']['input']>;\n updated_at_eq?: InputMaybe<Scalars['String']['input']>;\n updated_at_equals?: InputMaybe<Scalars['String']['input']>;\n updated_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n updated_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n updated_at_not_null?: InputMaybe<Scalars['String']['input']>;\n updated_at_null?: InputMaybe<Scalars['String']['input']>;\n verify_existence_of_standard_rate_for_order_eq?: InputMaybe<Scalars['String']['input']>;\n verify_existence_of_standard_rate_for_order_equals?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type WorkplacePerformanceInsightsInput = {\n availabilityStatuses?: InputMaybe<Array<AvailabilityStatus>>;\n dayType?: InputMaybe<DayType>;\n endDate: Scalars['ISO8601DateTime']['input'];\n shiftIds: Array<Scalars['ID']['input']>;\n sortOrder?: InputMaybe<Scalars['String']['input']>;\n startDate: Scalars['ISO8601DateTime']['input'];\n userIds?: InputMaybe<Array<Scalars['ID']['input']>>;\n workplaceId: Scalars['ID']['input'];\n};\n\nexport type WorkplacePerformanceInsightsReason = {\n __typename?: 'WorkplacePerformanceInsightsReason';\n availabilityStatus: AvailabilityStatus;\n averageDuration: Scalars['String']['output'];\n averageDurationSeconds: Scalars['Float']['output'];\n maxDuration: Scalars['String']['output'];\n maxDurationSeconds: Scalars['Float']['output'];\n occurrences: Scalars['Int']['output'];\n percentage: Scalars['Float']['output'];\n reasonColor: AndonLightColor;\n reasonId: Scalars['ID']['output'];\n reasonName: Scalars['String']['output'];\n statusChanges: Array<WorkplacePerformanceInsightsStatusChange>;\n totalDuration: Scalars['String']['output'];\n totalSeconds: Scalars['Float']['output'];\n};\n\nexport type WorkplacePerformanceInsightsResult = {\n __typename?: 'WorkplacePerformanceInsightsResult';\n endDate: Scalars['ISO8601DateTime']['output'];\n mtbf: Scalars['String']['output'];\n mtbfSeconds?: Maybe<Scalars['Float']['output']>;\n mttr: Scalars['String']['output'];\n mttrSeconds?: Maybe<Scalars['Float']['output']>;\n offScheduleDuration: Scalars['String']['output'];\n offScheduleSeconds: Scalars['Float']['output'];\n reasons: Array<WorkplacePerformanceInsightsReason>;\n startDate: Scalars['ISO8601DateTime']['output'];\n totalDowntime: Scalars['String']['output'];\n totalDowntimePercentage: Scalars['Float']['output'];\n totalDowntimeSeconds: Scalars['Float']['output'];\n totalDuration: Scalars['String']['output'];\n totalSeconds: Scalars['Float']['output'];\n totalUptime: Scalars['String']['output'];\n totalUptimePercentage: Scalars['Float']['output'];\n totalUptimeSeconds: Scalars['Float']['output'];\n workplaceId: Scalars['ID']['output'];\n workplaceName: Scalars['String']['output'];\n};\n\nexport type WorkplacePerformanceInsightsStatusChange = {\n __typename?: 'WorkplacePerformanceInsightsStatusChange';\n firstSegmentStart: Scalars['ISO8601DateTime']['output'];\n id: Scalars['ID']['output'];\n lastSegmentEnd: Scalars['ISO8601DateTime']['output'];\n note?: Maybe<Scalars['String']['output']>;\n originalEnd?: Maybe<Scalars['ISO8601DateTime']['output']>;\n originalStart: Scalars['ISO8601DateTime']['output'];\n segments?: Maybe<Scalars['JSON']['output']>;\n totalSegmentDuration: Scalars['String']['output'];\n totalSegmentSeconds: Scalars['Float']['output'];\n uuid: Scalars['String']['output'];\n};\n\nexport type WorkplaceWithAssignment = {\n __typename?: 'WorkplaceWithAssignment';\n assignedCount: Scalars['Int']['output'];\n assignedOperators: Array<AssignedOperator>;\n isOvercapacity: Scalars['Boolean']['output'];\n missingCount: Scalars['Int']['output'];\n recommendedOperators: Scalars['Int']['output'];\n unplannedOperators: Array<UnplannedOperator>;\n workplace: Workplace;\n};\n\nexport type AssignOperatorToWorkplaceMutationVariables = Exact<{\n input: AssignOperatorInput;\n}>;\n\nexport type AssignOperatorToWorkplaceMutation = {\n __typename?: 'Mutation';\n assignOperatorToWorkplace: {\n __typename?: 'AssignOperatorToWorkplacePayload';\n assignment?: {\n __typename?: 'WorkplaceAssignment';\n createdAt: any;\n id: string;\n validFrom: any;\n shift: { __typename?: 'Shift'; finishedAt: string; id: string; name: string; startedAt: string };\n user: { __typename?: 'User'; id: string; login: string; name: string };\n workplace?: {\n __typename?: 'Workplace';\n colorHex?: string | null;\n deactivated: boolean;\n departmentId?: string | null;\n dtrUrl?: string | null;\n id: string;\n minOperators: number;\n name: string;\n reasonGroupId: string;\n reasonsRecommendationsEnabled: boolean;\n currentStatusChange?: {\n __typename?: 'StatusChange';\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n reasonHasBeenRecommended: boolean;\n startedAt: string;\n workplaceId: string;\n author: { __typename?: 'User'; id: string; login: string; name: string };\n order?: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n items: Array<{\n __typename?: 'Item';\n count: number;\n id: string;\n order: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n workplaces: Array<{\n __typename?: 'Workplace';\n colorHex?: string | null;\n deactivated: boolean;\n departmentId?: string | null;\n dtrUrl?: string | null;\n id: string;\n minOperators: number;\n name: string;\n reasonGroupId: string;\n reasonsRecommendationsEnabled: boolean;\n currentStatusChange?: {\n __typename?: 'StatusChange';\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n reasonHasBeenRecommended: boolean;\n startedAt: string;\n workplaceId: string;\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n reason: {\n __typename?: 'Reason';\n acceptanceMonit: boolean;\n canBeRecommended: boolean;\n hasNote: boolean;\n id: string;\n isNoteRequired: boolean;\n leaf: boolean;\n name: string;\n parentId?: string | null;\n position: number;\n reasonGroupId: string;\n statusColor: AndonLightColor;\n temporary: boolean;\n };\n } | null;\n }>;\n };\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n }>;\n } | null;\n } | null;\n } | null;\n } | null;\n errors?: Array<{ __typename?: 'MutationError'; field?: string | null; messages: Array<string> }> | null;\n };\n};\n\nexport type BulkUpsertStaffingPlansMutationVariables = Exact<{\n input: BulkStaffingPlanInput;\n}>;\n\nexport type BulkUpsertStaffingPlansMutation = {\n __typename?: 'Mutation';\n bulkUpsertStaffingPlans: {\n __typename?: 'BulkUpsertStaffingPlansPayload';\n errors?: Array<{ __typename?: 'MutationError'; field?: string | null; messages: Array<string> }> | null;\n staffingPlans?: Array<{\n __typename?: 'StaffingPlan';\n id: string;\n date: any;\n recommendedOperators: number;\n createdAt: any;\n updatedAt: any;\n workplace: {\n __typename?: 'Workplace';\n colorHex?: string | null;\n deactivated: boolean;\n departmentId?: string | null;\n dtrUrl?: string | null;\n id: string;\n minOperators: number;\n name: string;\n reasonGroupId: string;\n reasonsRecommendationsEnabled: boolean;\n currentStatusChange?: {\n __typename?: 'StatusChange';\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n reasonHasBeenRecommended: boolean;\n startedAt: string;\n workplaceId: string;\n author: { __typename?: 'User'; id: string; login: string; name: string };\n order?: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n items: Array<{\n __typename?: 'Item';\n count: number;\n id: string;\n order: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n workplaces: Array<{\n __typename?: 'Workplace';\n colorHex?: string | null;\n deactivated: boolean;\n departmentId?: string | null;\n dtrUrl?: string | null;\n id: string;\n minOperators: number;\n name: string;\n reasonGroupId: string;\n reasonsRecommendationsEnabled: boolean;\n currentStatusChange?: {\n __typename?: 'StatusChange';\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n reasonHasBeenRecommended: boolean;\n startedAt: string;\n workplaceId: string;\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n reason: {\n __typename?: 'Reason';\n acceptanceMonit: boolean;\n canBeRecommended: boolean;\n hasNote: boolean;\n id: string;\n isNoteRequired: boolean;\n leaf: boolean;\n name: string;\n parentId?: string | null;\n position: number;\n reasonGroupId: string;\n statusColor: AndonLightColor;\n temporary: boolean;\n };\n } | null;\n }>;\n };\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n }>;\n } | null;\n } | null;\n };\n shift: { __typename?: 'Shift'; finishedAt: string; id: string; name: string; startedAt: string };\n author: { __typename?: 'User'; id: string; login: string; name: string };\n }> | null;\n };\n};\n\nexport type CreateDashboardMutationVariables = Exact<{\n filters?: InputMaybe<Scalars['String']['input']>;\n gridLayout?: InputMaybe<Scalars['String']['input']>;\n id: Scalars['ID']['input'];\n name: Scalars['String']['input'];\n}>;\n\nexport type CreateDashboardMutation = {\n __typename?: 'Mutation';\n createDashboard: {\n __typename?: 'CreateDashboardPayload';\n dashboard?: {\n __typename?: 'Dashboard';\n filters?: string | null;\n gridLayout?: string | null;\n id: string;\n name: string;\n } | null;\n errors?: Array<{ __typename?: 'MutationError'; field?: string | null; messages: Array<string> }> | null;\n };\n};\n\nexport type CreateOrderMutationVariables = Exact<{\n id: Scalars['ID']['input'];\n number: Scalars['String']['input'];\n}>;\n\nexport type CreateOrderMutation = {\n __typename?: 'Mutation';\n createOrder: {\n __typename?: 'CreateOrderPayload';\n errors?: Array<{ __typename?: 'MutationError'; field?: string | null; messages: Array<string> }> | null;\n order?: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n items: Array<{\n __typename?: 'Item';\n count: number;\n id: string;\n order: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n workplaces: Array<{\n __typename?: 'Workplace';\n colorHex?: string | null;\n deactivated: boolean;\n departmentId?: string | null;\n dtrUrl?: string | null;\n id: string;\n minOperators: number;\n name: string;\n reasonGroupId: string;\n reasonsRecommendationsEnabled: boolean;\n currentStatusChange?: {\n __typename?: 'StatusChange';\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n reasonHasBeenRecommended: boolean;\n startedAt: string;\n workplaceId: string;\n author: { __typename?: 'User'; id: string; login: string; name: string };\n order?: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n } | null;\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n reason: {\n __typename?: 'Reason';\n acceptanceMonit: boolean;\n canBeRecommended: boolean;\n hasNote: boolean;\n id: string;\n isNoteRequired: boolean;\n leaf: boolean;\n name: string;\n parentId?: string | null;\n position: number;\n reasonGroupId: string;\n statusColor: AndonLightColor;\n temporary: boolean;\n };\n } | null;\n }>;\n };\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n }>;\n } | null;\n };\n};\n\nexport type CreateProductMutationVariables = Exact<{\n id: Scalars['ID']['input'];\n name?: InputMaybe<Scalars['String']['input']>;\n number: Scalars['String']['input'];\n}>;\n\nexport type CreateProductMutation = {\n __typename?: 'Mutation';\n createProduct: {\n __typename?: 'CreateProductPayload';\n errors?: Array<{ __typename?: 'MutationError'; field?: string | null; messages: Array<string> }> | null;\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n };\n};\n\nexport type CreateStaffingPlanMutationVariables = Exact<{\n input: StaffingPlanInput;\n}>;\n\nexport type CreateStaffingPlanMutation = {\n __typename?: 'Mutation';\n createStaffingPlan: {\n __typename?: 'CreateStaffingPlanPayload';\n errors?: Array<{ __typename?: 'MutationError'; field?: string | null; messages: Array<string> }> | null;\n staffingPlan?: {\n __typename?: 'StaffingPlan';\n id: string;\n date: any;\n recommendedOperators: number;\n createdAt: any;\n updatedAt: any;\n workplace: {\n __typename?: 'Workplace';\n colorHex?: string | null;\n deactivated: boolean;\n departmentId?: string | null;\n dtrUrl?: string | null;\n id: string;\n minOperators: number;\n name: string;\n reasonGroupId: string;\n reasonsRecommendationsEnabled: boolean;\n currentStatusChange?: {\n __typename?: 'StatusChange';\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n reasonHasBeenRecommended: boolean;\n startedAt: string;\n workplaceId: string;\n author: { __typename?: 'User'; id: string; login: string; name: string };\n order?: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n items: Array<{\n __typename?: 'Item';\n count: number;\n id: string;\n order: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n workplaces: Array<{\n __typename?: 'Workplace';\n colorHex?: string | null;\n deactivated: boolean;\n departmentId?: string | null;\n dtrUrl?: string | null;\n id: string;\n minOperators: number;\n name: string;\n reasonGroupId: string;\n reasonsRecommendationsEnabled: boolean;\n currentStatusChange?: {\n __typename?: 'StatusChange';\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n reasonHasBeenRecommended: boolean;\n startedAt: string;\n workplaceId: string;\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n reason: {\n __typename?: 'Reason';\n acceptanceMonit: boolean;\n canBeRecommended: boolean;\n hasNote: boolean;\n id: string;\n isNoteRequired: boolean;\n leaf: boolean;\n name: string;\n parentId?: string | null;\n position: number;\n reasonGroupId: string;\n statusColor: AndonLightColor;\n temporary: boolean;\n };\n } | null;\n }>;\n };\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n }>;\n } | null;\n } | null;\n };\n shift: { __typename?: 'Shift'; finishedAt: string; id: string; name: string; startedAt: string };\n author: { __typename?: 'User'; id: string; login: string; name: string };\n } | null;\n };\n};\n\nexport type CreateStatusChangeMutationVariables = Exact<{\n id: Scalars['ID']['input'];\n note?: InputMaybe<Scalars['String']['input']>;\n reasonHasBeenRecommended?: InputMaybe<Scalars['Boolean']['input']>;\n reasonId: Scalars['ID']['input'];\n startedAt?: InputMaybe<Scalars['String']['input']>;\n userId?: InputMaybe<Scalars['ID']['input']>;\n workplaceId: Scalars['ID']['input'];\n}>;\n\nexport type CreateStatusChangeMutation = {\n __typename?: 'Mutation';\n createStatusChange: {\n __typename?: 'CreateStatusChangePayload';\n errors?: Array<{ __typename?: 'MutationError'; field?: string | null; messages: Array<string> }> | null;\n statusChange?: {\n __typename?: 'StatusChange';\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n reasonHasBeenRecommended: boolean;\n startedAt: string;\n workplaceId: string;\n author: { __typename?: 'User'; id: string; login: string; name: string };\n order?: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n items: Array<{\n __typename?: 'Item';\n count: number;\n id: string;\n order: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n workplaces: Array<{\n __typename?: 'Workplace';\n colorHex?: string | null;\n deactivated: boolean;\n departmentId?: string | null;\n dtrUrl?: string | null;\n id: string;\n minOperators: number;\n name: string;\n reasonGroupId: string;\n reasonsRecommendationsEnabled: boolean;\n currentStatusChange?: {\n __typename?: 'StatusChange';\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n reasonHasBeenRecommended: boolean;\n startedAt: string;\n workplaceId: string;\n author: { __typename?: 'User'; id: string; login: string; name: string };\n order?: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n } | null;\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n reason: {\n __typename?: 'Reason';\n acceptanceMonit: boolean;\n canBeRecommended: boolean;\n hasNote: boolean;\n id: string;\n isNoteRequired: boolean;\n leaf: boolean;\n name: string;\n parentId?: string | null;\n position: number;\n reasonGroupId: string;\n statusColor: AndonLightColor;\n temporary: boolean;\n };\n } | null;\n }>;\n };\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n }>;\n } | null;\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n reason: {\n __typename?: 'Reason';\n acceptanceMonit: boolean;\n canBeRecommended: boolean;\n hasNote: boolean;\n id: string;\n isNoteRequired: boolean;\n leaf: boolean;\n name: string;\n parentId?: string | null;\n position: number;\n reasonGroupId: string;\n statusColor: AndonLightColor;\n temporary: boolean;\n };\n } | null;\n };\n};\n\nexport type CreateUserPresenceMutationVariables = Exact<{\n id: Scalars['ID']['input'];\n userToken: Scalars['String']['input'];\n workplaceId: Scalars['ID']['input'];\n}>;\n\nexport type CreateUserPresenceMutation = {\n __typename?: 'Mutation';\n createUserPresence: {\n __typename?: 'CreateUserPresencePayload';\n errors?: Array<{ __typename?: 'MutationError'; field?: string | null; messages: Array<string> }> | null;\n userPresence?: {\n __typename?: 'UserPresence';\n finishedAt?: string | null;\n id: string;\n startedAt: string;\n workplaceId: string;\n author: { __typename?: 'User'; id: string; login: string; name: string };\n user: { __typename?: 'User'; id: string; login: string; name: string };\n } | null;\n };\n};\n\nexport type CreateWidgetMutationVariables = Exact<{\n config?: InputMaybe<Scalars['String']['input']>;\n id: Scalars['ID']['input'];\n}>;\n\nexport type CreateWidgetMutation = {\n __typename?: 'Mutation';\n createWidget: {\n __typename?: 'CreateWidgetPayload';\n errors?: Array<{ __typename?: 'MutationError'; field?: string | null; messages: Array<string> }> | null;\n widget?: { __typename?: 'Widget'; config?: string | null; id: string } | null;\n };\n};\n\nexport type PauseOrderExecutionMutationVariables = Exact<{\n id: Scalars['ID']['input'];\n statusChangeId: Scalars['ID']['input'];\n}>;\n\nexport type PauseOrderExecutionMutation = {\n __typename?: 'Mutation';\n pauseOrderExecution: {\n __typename?: 'PauseOrderExecutionPayload';\n errors?: Array<{ __typename?: 'MutationError'; field?: string | null; messages: Array<string> }> | null;\n orderExecution?: {\n __typename?: 'OrderExecution';\n finishedAt?: string | null;\n id: string;\n itemCount?: number | null;\n note?: string | null;\n standardRateMismatched: boolean;\n startedAt: string;\n workplaceId: string;\n item?: {\n __typename?: 'Item';\n count: number;\n id: string;\n order: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n items: Array<{\n __typename?: 'Item';\n count: number;\n id: string;\n order: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n workplaces: Array<{\n __typename?: 'Workplace';\n colorHex?: string | null;\n deactivated: boolean;\n departmentId?: string | null;\n dtrUrl?: string | null;\n id: string;\n minOperators: number;\n name: string;\n reasonGroupId: string;\n reasonsRecommendationsEnabled: boolean;\n currentStatusChange?: {\n __typename?: 'StatusChange';\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n reasonHasBeenRecommended: boolean;\n startedAt: string;\n workplaceId: string;\n author: { __typename?: 'User'; id: string; login: string; name: string };\n order?: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n } | null;\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n reason: {\n __typename?: 'Reason';\n acceptanceMonit: boolean;\n canBeRecommended: boolean;\n hasNote: boolean;\n id: string;\n isNoteRequired: boolean;\n leaf: boolean;\n name: string;\n parentId?: string | null;\n position: number;\n reasonGroupId: string;\n statusColor: AndonLightColor;\n temporary: boolean;\n };\n } | null;\n }>;\n };\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n }>;\n };\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n } | null;\n order: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n };\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n } | null;\n };\n};\n\nexport type RemoveDashboardMutationVariables = Exact<{\n id: Scalars['ID']['input'];\n}>;\n\nexport type RemoveDashboardMutation = {\n __typename?: 'Mutation';\n removeDashboard: {\n __typename?: 'RemoveDashboardPayload';\n errors?: Array<{ __typename?: 'MutationError'; field?: string | null; messages: Array<string> }> | null;\n };\n};\n\nexport type RemoveStaffingPlanMutationVariables = Exact<{\n id: Scalars['ID']['input'];\n}>;\n\nexport type RemoveStaffingPlanMutation = {\n __typename?: 'Mutation';\n removeStaffingPlan: {\n __typename?: 'RemoveStaffingPlanPayload';\n errors?: Array<{ __typename?: 'MutationError'; field?: string | null; messages: Array<string> }> | null;\n };\n};\n\nexport type RemoveUserPresenceMutationVariables = Exact<{\n id: Scalars['ID']['input'];\n}>;\n\nexport type RemoveUserPresenceMutation = {\n __typename?: 'Mutation';\n removeUserPresence: {\n __typename?: 'RemoveUserPresencePayload';\n errors?: Array<{ __typename?: 'MutationError'; field?: string | null; messages: Array<string> }> | null;\n };\n};\n\nexport type RemoveWidgetMutationVariables = Exact<{\n id: Scalars['ID']['input'];\n}>;\n\nexport type RemoveWidgetMutation = {\n __typename?: 'Mutation';\n removeWidget: {\n __typename?: 'RemoveWidgetPayload';\n errors?: Array<{ __typename?: 'MutationError'; field?: string | null; messages: Array<string> }> | null;\n };\n};\n\nexport type RemoveWorkplaceUsersPresencesMutationVariables = Exact<{\n workplaceId: Scalars['ID']['input'];\n}>;\n\nexport type RemoveWorkplaceUsersPresencesMutation = {\n __typename?: 'Mutation';\n removeWorkplaceUsersPresences: {\n __typename?: 'RemoveWorkplaceUsersPresencesPayload';\n errors?: Array<{ __typename?: 'MutationError'; field?: string | null; messages: Array<string> }> | null;\n };\n};\n\nexport type RequestFeatureAccessMutationVariables = Exact<{\n input: RequestFeatureAccessInput;\n}>;\n\nexport type RequestFeatureAccessMutation = {\n __typename?: 'Mutation';\n requestFeatureAccess: {\n __typename?: 'RequestFeatureAccessMutationPayload';\n success: boolean;\n errors?: Array<{ __typename?: 'MutationError'; field?: string | null; messages: Array<string> }> | null;\n };\n};\n\nexport type SetCounterMutationVariables = Exact<{\n id: Scalars['ID']['input'];\n note?: InputMaybe<Scalars['String']['input']>;\n orderExecutionId?: InputMaybe<Scalars['ID']['input']>;\n value: Scalars['Float']['input'];\n}>;\n\nexport type SetCounterMutation = {\n __typename?: 'Mutation';\n setCounter: {\n __typename?: 'SetCounterPayload';\n counter?: {\n __typename?: 'Counter';\n directoryId?: string | null;\n hasNote: boolean;\n id: string;\n isDisabled: boolean;\n kind: CounterKindEnum;\n name: string;\n position: number;\n value: number;\n workplaceId: string;\n } | null;\n errors?: Array<{ __typename?: 'MutationError'; field?: string | null; messages: Array<string> }> | null;\n };\n};\n\nexport type StartOrderExecutionMutationVariables = Exact<{\n id: Scalars['ID']['input'];\n itemCount?: InputMaybe<Scalars['Float']['input']>;\n order: OrderInput;\n product?: InputMaybe<ProductInput>;\n statusChangeId: Scalars['ID']['input'];\n workplaceId: Scalars['ID']['input'];\n}>;\n\nexport type StartOrderExecutionMutation = {\n __typename?: 'Mutation';\n startOrderExecution: {\n __typename?: 'StartOrderExecutionPayload';\n errors?: Array<{ __typename?: 'MutationError'; field?: string | null; messages: Array<string> }> | null;\n orderExecution?: {\n __typename?: 'OrderExecution';\n finishedAt?: string | null;\n id: string;\n itemCount?: number | null;\n note?: string | null;\n standardRateMismatched: boolean;\n startedAt: string;\n workplaceId: string;\n item?: {\n __typename?: 'Item';\n count: number;\n id: string;\n order: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n items: Array<{\n __typename?: 'Item';\n count: number;\n id: string;\n order: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n workplaces: Array<{\n __typename?: 'Workplace';\n colorHex?: string | null;\n deactivated: boolean;\n departmentId?: string | null;\n dtrUrl?: string | null;\n id: string;\n minOperators: number;\n name: string;\n reasonGroupId: string;\n reasonsRecommendationsEnabled: boolean;\n currentStatusChange?: {\n __typename?: 'StatusChange';\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n reasonHasBeenRecommended: boolean;\n startedAt: string;\n workplaceId: string;\n author: { __typename?: 'User'; id: string; login: string; name: string };\n order?: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n } | null;\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n reason: {\n __typename?: 'Reason';\n acceptanceMonit: boolean;\n canBeRecommended: boolean;\n hasNote: boolean;\n id: string;\n isNoteRequired: boolean;\n leaf: boolean;\n name: string;\n parentId?: string | null;\n position: number;\n reasonGroupId: string;\n statusColor: AndonLightColor;\n temporary: boolean;\n };\n } | null;\n }>;\n };\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n }>;\n };\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n } | null;\n order: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n };\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n } | null;\n };\n};\n\nexport type StartTrialMutationVariables = Exact<{\n input: StartTrialInput;\n}>;\n\nexport type StartTrialMutation = {\n __typename?: 'Mutation';\n startTrial: {\n __typename?: 'StartTrialMutationPayload';\n success: boolean;\n errors?: Array<{ __typename?: 'MutationError'; field?: string | null; messages: Array<string> }> | null;\n };\n};\n\nexport type StopOrderExecutionMutationVariables = Exact<{\n id: Scalars['ID']['input'];\n statusChangeId: Scalars['ID']['input'];\n}>;\n\nexport type StopOrderExecutionMutation = {\n __typename?: 'Mutation';\n stopOrderExecution: {\n __typename?: 'StopOrderExecutionPayload';\n errors?: Array<{ __typename?: 'MutationError'; field?: string | null; messages: Array<string> }> | null;\n orderExecution?: {\n __typename?: 'OrderExecution';\n finishedAt?: string | null;\n id: string;\n itemCount?: number | null;\n note?: string | null;\n standardRateMismatched: boolean;\n startedAt: string;\n workplaceId: string;\n item?: {\n __typename?: 'Item';\n count: number;\n id: string;\n order: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n items: Array<{\n __typename?: 'Item';\n count: number;\n id: string;\n order: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n workplaces: Array<{\n __typename?: 'Workplace';\n colorHex?: string | null;\n deactivated: boolean;\n departmentId?: string | null;\n dtrUrl?: string | null;\n id: string;\n minOperators: number;\n name: string;\n reasonGroupId: string;\n reasonsRecommendationsEnabled: boolean;\n currentStatusChange?: {\n __typename?: 'StatusChange';\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n reasonHasBeenRecommended: boolean;\n startedAt: string;\n workplaceId: string;\n author: { __typename?: 'User'; id: string; login: string; name: string };\n order?: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n } | null;\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n reason: {\n __typename?: 'Reason';\n acceptanceMonit: boolean;\n canBeRecommended: boolean;\n hasNote: boolean;\n id: string;\n isNoteRequired: boolean;\n leaf: boolean;\n name: string;\n parentId?: string | null;\n position: number;\n reasonGroupId: string;\n statusColor: AndonLightColor;\n temporary: boolean;\n };\n } | null;\n }>;\n };\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n }>;\n };\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n } | null;\n order: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n };\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n } | null;\n };\n};\n\nexport type UnassignOperatorFromWorkplaceMutationVariables = Exact<{\n input: UnassignOperatorInput;\n}>;\n\nexport type UnassignOperatorFromWorkplaceMutation = {\n __typename?: 'Mutation';\n unassignOperatorFromWorkplace: {\n __typename?: 'UnassignOperatorFromWorkplacePayload';\n assignment?: {\n __typename?: 'WorkplaceAssignment';\n createdAt: any;\n id: string;\n validFrom: any;\n shift: { __typename?: 'Shift'; finishedAt: string; id: string; name: string; startedAt: string };\n user: { __typename?: 'User'; id: string; login: string; name: string };\n workplace?: {\n __typename?: 'Workplace';\n colorHex?: string | null;\n deactivated: boolean;\n departmentId?: string | null;\n dtrUrl?: string | null;\n id: string;\n minOperators: number;\n name: string;\n reasonGroupId: string;\n reasonsRecommendationsEnabled: boolean;\n currentStatusChange?: {\n __typename?: 'StatusChange';\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n reasonHasBeenRecommended: boolean;\n startedAt: string;\n workplaceId: string;\n author: { __typename?: 'User'; id: string; login: string; name: string };\n order?: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n items: Array<{\n __typename?: 'Item';\n count: number;\n id: string;\n order: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n workplaces: Array<{\n __typename?: 'Workplace';\n colorHex?: string | null;\n deactivated: boolean;\n departmentId?: string | null;\n dtrUrl?: string | null;\n id: string;\n minOperators: number;\n name: string;\n reasonGroupId: string;\n reasonsRecommendationsEnabled: boolean;\n currentStatusChange?: {\n __typename?: 'StatusChange';\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n reasonHasBeenRecommended: boolean;\n startedAt: string;\n workplaceId: string;\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n reason: {\n __typename?: 'Reason';\n acceptanceMonit: boolean;\n canBeRecommended: boolean;\n hasNote: boolean;\n id: string;\n isNoteRequired: boolean;\n leaf: boolean;\n name: string;\n parentId?: string | null;\n position: number;\n reasonGroupId: string;\n statusColor: AndonLightColor;\n temporary: boolean;\n };\n } | null;\n }>;\n };\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n }>;\n } | null;\n } | null;\n } | null;\n } | null;\n errors?: Array<{ __typename?: 'MutationError'; field?: string | null; messages: Array<string> }> | null;\n };\n};\n\nexport type UpdateDashboardMutationVariables = Exact<{\n filters?: InputMaybe<Scalars['String']['input']>;\n gridLayout: Scalars['String']['input'];\n id: Scalars['ID']['input'];\n name?: InputMaybe<Scalars['String']['input']>;\n}>;\n\nexport type UpdateDashboardMutation = {\n __typename?: 'Mutation';\n updateDashboard: {\n __typename?: 'UpdateDashboardPayload';\n dashboard?: {\n __typename?: 'Dashboard';\n filters?: string | null;\n gridLayout?: string | null;\n id: string;\n name: string;\n } | null;\n errors?: Array<{ __typename?: 'MutationError'; field?: string | null; messages: Array<string> }> | null;\n };\n};\n\nexport type UpdateNotificationMutationVariables = Exact<{\n id: Scalars['ID']['input'];\n status: Scalars['String']['input'];\n}>;\n\nexport type UpdateNotificationMutation = {\n __typename?: 'Mutation';\n updateNotification: {\n __typename?: 'UpdateNotificationPayload';\n errors?: Array<{ __typename?: 'MutationError'; field?: string | null; messages: Array<string> }> | null;\n notification?: {\n __typename?: 'Notification';\n channel?: string | null;\n details?: string | null;\n emitterId: string;\n emitterType: string;\n id: string;\n message: string;\n receiverId: string;\n receiverType: string;\n status?: string | null;\n } | null;\n };\n};\n\nexport type UpdateOrderMutationVariables = Exact<{\n input: UpdateOrderInput;\n}>;\n\nexport type UpdateOrderMutation = {\n __typename?: 'Mutation';\n updateOrder: {\n __typename?: 'UpdateOrderPayload';\n errors?: Array<{ __typename?: 'MutationError'; field?: string | null; messages: Array<string> }> | null;\n order?: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n items: Array<{\n __typename?: 'Item';\n count: number;\n id: string;\n order: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n workplaces: Array<{\n __typename?: 'Workplace';\n colorHex?: string | null;\n deactivated: boolean;\n departmentId?: string | null;\n dtrUrl?: string | null;\n id: string;\n minOperators: number;\n name: string;\n reasonGroupId: string;\n reasonsRecommendationsEnabled: boolean;\n currentStatusChange?: {\n __typename?: 'StatusChange';\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n reasonHasBeenRecommended: boolean;\n startedAt: string;\n workplaceId: string;\n author: { __typename?: 'User'; id: string; login: string; name: string };\n order?: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n } | null;\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n reason: {\n __typename?: 'Reason';\n acceptanceMonit: boolean;\n canBeRecommended: boolean;\n hasNote: boolean;\n id: string;\n isNoteRequired: boolean;\n leaf: boolean;\n name: string;\n parentId?: string | null;\n position: number;\n reasonGroupId: string;\n statusColor: AndonLightColor;\n temporary: boolean;\n };\n } | null;\n }>;\n };\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n }>;\n } | null;\n };\n};\n\nexport type UpdateOrderExecutionMutationVariables = Exact<{\n id: Scalars['ID']['input'];\n standardRateId: Scalars['ID']['input'];\n}>;\n\nexport type UpdateOrderExecutionMutation = {\n __typename?: 'Mutation';\n updateOrderExecution: {\n __typename?: 'UpdateOrderExecutionPayload';\n errors?: Array<{ __typename?: 'MutationError'; field?: string | null; messages: Array<string> }> | null;\n orderExecution?: {\n __typename?: 'OrderExecution';\n finishedAt?: string | null;\n id: string;\n itemCount?: number | null;\n note?: string | null;\n standardRateMismatched: boolean;\n startedAt: string;\n workplaceId: string;\n item?: {\n __typename?: 'Item';\n count: number;\n id: string;\n order: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n items: Array<{\n __typename?: 'Item';\n count: number;\n id: string;\n order: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n workplaces: Array<{\n __typename?: 'Workplace';\n colorHex?: string | null;\n deactivated: boolean;\n departmentId?: string | null;\n dtrUrl?: string | null;\n id: string;\n minOperators: number;\n name: string;\n reasonGroupId: string;\n reasonsRecommendationsEnabled: boolean;\n currentStatusChange?: {\n __typename?: 'StatusChange';\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n reasonHasBeenRecommended: boolean;\n startedAt: string;\n workplaceId: string;\n author: { __typename?: 'User'; id: string; login: string; name: string };\n order?: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n } | null;\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n reason: {\n __typename?: 'Reason';\n acceptanceMonit: boolean;\n canBeRecommended: boolean;\n hasNote: boolean;\n id: string;\n isNoteRequired: boolean;\n leaf: boolean;\n name: string;\n parentId?: string | null;\n position: number;\n reasonGroupId: string;\n statusColor: AndonLightColor;\n temporary: boolean;\n };\n } | null;\n }>;\n };\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n }>;\n };\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n } | null;\n order: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n };\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n } | null;\n };\n};\n\nexport type UpdateStaffingPlanMutationVariables = Exact<{\n input: StaffingPlanUpdateInput;\n}>;\n\nexport type UpdateStaffingPlanMutation = {\n __typename?: 'Mutation';\n updateStaffingPlan: {\n __typename?: 'UpdateStaffingPlanPayload';\n errors?: Array<{ __typename?: 'MutationError'; field?: string | null; messages: Array<string> }> | null;\n staffingPlan?: {\n __typename?: 'StaffingPlan';\n id: string;\n date: any;\n recommendedOperators: number;\n createdAt: any;\n updatedAt: any;\n workplace: {\n __typename?: 'Workplace';\n colorHex?: string | null;\n deactivated: boolean;\n departmentId?: string | null;\n dtrUrl?: string | null;\n id: string;\n minOperators: number;\n name: string;\n reasonGroupId: string;\n reasonsRecommendationsEnabled: boolean;\n currentStatusChange?: {\n __typename?: 'StatusChange';\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n reasonHasBeenRecommended: boolean;\n startedAt: string;\n workplaceId: string;\n author: { __typename?: 'User'; id: string; login: string; name: string };\n order?: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n items: Array<{\n __typename?: 'Item';\n count: number;\n id: string;\n order: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n workplaces: Array<{\n __typename?: 'Workplace';\n colorHex?: string | null;\n deactivated: boolean;\n departmentId?: string | null;\n dtrUrl?: string | null;\n id: string;\n minOperators: number;\n name: string;\n reasonGroupId: string;\n reasonsRecommendationsEnabled: boolean;\n currentStatusChange?: {\n __typename?: 'StatusChange';\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n reasonHasBeenRecommended: boolean;\n startedAt: string;\n workplaceId: string;\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n reason: {\n __typename?: 'Reason';\n acceptanceMonit: boolean;\n canBeRecommended: boolean;\n hasNote: boolean;\n id: string;\n isNoteRequired: boolean;\n leaf: boolean;\n name: string;\n parentId?: string | null;\n position: number;\n reasonGroupId: string;\n statusColor: AndonLightColor;\n temporary: boolean;\n };\n } | null;\n }>;\n };\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n }>;\n } | null;\n } | null;\n };\n shift: { __typename?: 'Shift'; finishedAt: string; id: string; name: string; startedAt: string };\n author: { __typename?: 'User'; id: string; login: string; name: string };\n } | null;\n };\n};\n\nexport type UpdateStatusChangeMutationVariables = Exact<{\n input: UpdateStatusChangeInput;\n}>;\n\nexport type UpdateStatusChangeMutation = {\n __typename?: 'Mutation';\n updateStatusChange: {\n __typename?: 'UpdateStatusChangePayload';\n errors?: Array<{ __typename?: 'MutationError'; field?: string | null; messages: Array<string> }> | null;\n statusChange?: {\n __typename?: 'StatusChange';\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n reasonHasBeenRecommended: boolean;\n startedAt: string;\n workplaceId: string;\n author: { __typename?: 'User'; id: string; login: string; name: string };\n order?: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n items: Array<{\n __typename?: 'Item';\n count: number;\n id: string;\n order: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n workplaces: Array<{\n __typename?: 'Workplace';\n colorHex?: string | null;\n deactivated: boolean;\n departmentId?: string | null;\n dtrUrl?: string | null;\n id: string;\n minOperators: number;\n name: string;\n reasonGroupId: string;\n reasonsRecommendationsEnabled: boolean;\n currentStatusChange?: {\n __typename?: 'StatusChange';\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n reasonHasBeenRecommended: boolean;\n startedAt: string;\n workplaceId: string;\n author: { __typename?: 'User'; id: string; login: string; name: string };\n order?: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n } | null;\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n reason: {\n __typename?: 'Reason';\n acceptanceMonit: boolean;\n canBeRecommended: boolean;\n hasNote: boolean;\n id: string;\n isNoteRequired: boolean;\n leaf: boolean;\n name: string;\n parentId?: string | null;\n position: number;\n reasonGroupId: string;\n statusColor: AndonLightColor;\n temporary: boolean;\n };\n } | null;\n }>;\n };\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n }>;\n } | null;\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n reason: {\n __typename?: 'Reason';\n acceptanceMonit: boolean;\n canBeRecommended: boolean;\n hasNote: boolean;\n id: string;\n isNoteRequired: boolean;\n leaf: boolean;\n name: string;\n parentId?: string | null;\n position: number;\n reasonGroupId: string;\n statusColor: AndonLightColor;\n temporary: boolean;\n };\n } | null;\n };\n};\n\nexport type UpdateWidgetMutationVariables = Exact<{\n config: Scalars['String']['input'];\n id: Scalars['ID']['input'];\n}>;\n\nexport type UpdateWidgetMutation = {\n __typename?: 'Mutation';\n updateWidget: {\n __typename?: 'UpdateWidgetPayload';\n errors?: Array<{ __typename?: 'MutationError'; field?: string | null; messages: Array<string> }> | null;\n widget?: { __typename?: 'Widget'; config?: string | null; id: string } | null;\n };\n};\n\nexport type UpdateWorkOrderMutationVariables = Exact<{\n id: Scalars['ID']['input'];\n input: UpdateWorkOrderInput;\n}>;\n\nexport type UpdateWorkOrderMutation = {\n __typename?: 'Mutation';\n updateWorkOrder: {\n __typename?: 'UpdateWorkOrderPayload';\n errors?: Array<{ __typename?: 'MutationError'; field?: string | null; messages: Array<string> }> | null;\n workOrder?: {\n __typename?: 'WorkOrder';\n closedAt?: string | null;\n createdAt: string;\n creationMethod: WorkOrderCreationMethodEnum;\n description?: string | null;\n dtrUrl?: string | null;\n dueAt?: string | null;\n id: string;\n name: string;\n note?: string | null;\n originalOccurrenceAt?: string | null;\n priority: WorkOrderPriorityEnum;\n procedureDescription?: string | null;\n procedureName?: string | null;\n procedureResponse: any;\n procedureTemplate: any;\n startAt?: string | null;\n status: WorkOrderStatusEnum;\n timeSpentHours?: number | null;\n timeSpentMinutes?: number | null;\n updatedAt: string;\n assignees: Array<{ __typename?: 'User'; id: string; login: string; name: string }>;\n category?: { __typename?: 'WorkOrderCategory'; description?: string | null; id: string; name: string } | null;\n workplaces: Array<{\n __typename?: 'Workplace';\n colorHex?: string | null;\n deactivated: boolean;\n departmentId?: string | null;\n dtrUrl?: string | null;\n id: string;\n minOperators: number;\n name: string;\n reasonGroupId: string;\n reasonsRecommendationsEnabled: boolean;\n currentStatusChange?: {\n __typename?: 'StatusChange';\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n reasonHasBeenRecommended: boolean;\n startedAt: string;\n workplaceId: string;\n author: { __typename?: 'User'; id: string; login: string; name: string };\n order?: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n items: Array<{\n __typename?: 'Item';\n count: number;\n id: string;\n order: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n workplaces: Array<{\n __typename?: 'Workplace';\n colorHex?: string | null;\n deactivated: boolean;\n departmentId?: string | null;\n dtrUrl?: string | null;\n id: string;\n minOperators: number;\n name: string;\n reasonGroupId: string;\n reasonsRecommendationsEnabled: boolean;\n }>;\n };\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n }>;\n } | null;\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n reason: {\n __typename?: 'Reason';\n acceptanceMonit: boolean;\n canBeRecommended: boolean;\n hasNote: boolean;\n id: string;\n isNoteRequired: boolean;\n leaf: boolean;\n name: string;\n parentId?: string | null;\n position: number;\n reasonGroupId: string;\n statusColor: AndonLightColor;\n temporary: boolean;\n };\n } | null;\n }>;\n } | null;\n };\n};\n\nexport type ActualStaffingCountsQueryVariables = Exact<{\n filter?: InputMaybe<ActualStaffingCountFilter>;\n}>;\n\nexport type ActualStaffingCountsQuery = {\n __typename?: 'Query';\n actualStaffingCounts: Array<{\n __typename?: 'ActualStaffingCount';\n date: any;\n actualOperators: number;\n plannedOperators?: number | null;\n hasDeviation: boolean;\n workplace: {\n __typename?: 'Workplace';\n colorHex?: string | null;\n deactivated: boolean;\n departmentId?: string | null;\n dtrUrl?: string | null;\n id: string;\n minOperators: number;\n name: string;\n reasonGroupId: string;\n reasonsRecommendationsEnabled: boolean;\n currentStatusChange?: {\n __typename?: 'StatusChange';\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n reasonHasBeenRecommended: boolean;\n startedAt: string;\n workplaceId: string;\n author: { __typename?: 'User'; id: string; login: string; name: string };\n order?: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n items: Array<{\n __typename?: 'Item';\n count: number;\n id: string;\n order: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n workplaces: Array<{\n __typename?: 'Workplace';\n colorHex?: string | null;\n deactivated: boolean;\n departmentId?: string | null;\n dtrUrl?: string | null;\n id: string;\n minOperators: number;\n name: string;\n reasonGroupId: string;\n reasonsRecommendationsEnabled: boolean;\n currentStatusChange?: {\n __typename?: 'StatusChange';\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n reasonHasBeenRecommended: boolean;\n startedAt: string;\n workplaceId: string;\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n reason: {\n __typename?: 'Reason';\n acceptanceMonit: boolean;\n canBeRecommended: boolean;\n hasNote: boolean;\n id: string;\n isNoteRequired: boolean;\n leaf: boolean;\n name: string;\n parentId?: string | null;\n position: number;\n reasonGroupId: string;\n statusColor: AndonLightColor;\n temporary: boolean;\n };\n } | null;\n }>;\n };\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n }>;\n } | null;\n } | null;\n };\n shift: { __typename?: 'Shift'; finishedAt: string; id: string; name: string; startedAt: string };\n }>;\n};\n\nexport type ApplicationInfoQueryVariables = Exact<{ [key: string]: never }>;\n\nexport type ApplicationInfoQuery = {\n __typename?: 'Query';\n applicationInfo: { __typename?: 'ApplicationInfo'; apiVersion: string };\n};\n\nexport type AvailabilityInsightsQueryVariables = Exact<{\n input: AvailabilityInsightsInput;\n}>;\n\nexport type AvailabilityInsightsQuery = {\n __typename?: 'Query';\n availabilityInsights: {\n __typename?: 'AvailabilityInsightsResult';\n entries: Array<{ __typename?: 'AvailabilityInsightsEntry'; availability: number; label: string; noData: boolean }>;\n };\n};\n\nexport type CompanyConfigQueryVariables = Exact<{ [key: string]: never }>;\n\nexport type CompanyConfigQuery = {\n __typename?: 'Query';\n companyConfig: {\n __typename?: 'CompanyConfig';\n displayedKpiItems: Array<string>;\n reasonsRecommendationsEnabled: boolean;\n statusChangeTransitionPermissionsUpdatedAt?: string | null;\n devicesConfigs: Array<{ __typename?: 'DeviceConfig'; defaultWorkplaceId: string; deviceId: string; name: string }>;\n roleConfig: { __typename?: 'RoleConfig'; historyVisibilityEnabled: boolean; orderCreationAllowed: boolean };\n workplacesConfigs: Array<{\n __typename?: 'WorkplaceConfig';\n defaultScreen: ScreenEnum;\n menuDisplayItems: Array<ScreenEnum>;\n productionMode: ProductionMode;\n statusScreenDisplayBlocks?: Array<StatusScreenDisplayBlocksEnum> | null;\n workplaceId: string;\n orderConfig: {\n __typename?: 'OrderConfig';\n alternativeName: boolean;\n numberPrefix?: string | null;\n numberRegexp?: string | null;\n };\n orderExecutionConfig: {\n __typename?: 'OrderExecutionConfig';\n afterPauseReasonId?: string | null;\n afterStartReasonId?: string | null;\n afterStopReasonId?: string | null;\n featureEnabled: boolean;\n formOrderFields: Array<string>;\n formProductFields: Array<string>;\n formQuantityFields: Array<string>;\n itemCountUnit: string;\n noPlanCanCreateOrderNote?: string | null;\n noPlanNeedVerificationNote?: string | null;\n orderInternalNoteText?: string | null;\n orderInternalNoteTitle?: string | null;\n productInternalNoteText?: string | null;\n productInternalNoteTitle?: string | null;\n quantityInternalNoteText?: string | null;\n quantityInternalNoteTitle?: string | null;\n stopEnabled: boolean;\n };\n productConfig: {\n __typename?: 'ProductConfig';\n alternativeName: boolean;\n numberPrefix?: string | null;\n numberRegexp?: string | null;\n };\n screenSaverConfig: {\n __typename?: 'ScreenSaverConfig';\n autoSignOut: boolean;\n displayAfterIdle: boolean;\n displayAfterOrderCreated: boolean;\n displayAfterStatusChangeCreated: boolean;\n enabled: boolean;\n idleTime: number;\n };\n }>;\n };\n};\n\nexport type CounterDirectoriesQueryVariables = Exact<{\n filter?: InputMaybe<CounterDirectoryFilter>;\n}>;\n\nexport type CounterDirectoriesQuery = {\n __typename?: 'Query';\n counterDirectories: Array<{\n __typename?: 'CounterDirectory';\n directoryId?: string | null;\n id: string;\n name?: string | null;\n position: number;\n workplaceId: string;\n }>;\n};\n\nexport type CountersQueryVariables = Exact<{\n filter?: InputMaybe<CounterFilter>;\n}>;\n\nexport type CountersQuery = {\n __typename?: 'Query';\n counters: Array<{\n __typename?: 'Counter';\n directoryId?: string | null;\n hasNote: boolean;\n id: string;\n isDisabled: boolean;\n kind: CounterKindEnum;\n name: string;\n position: number;\n value: number;\n workplaceId: string;\n }>;\n};\n\nexport type CurrentUserQueryVariables = Exact<{ [key: string]: never }>;\n\nexport type CurrentUserQuery = {\n __typename?: 'Query';\n currentUser: { __typename?: 'User'; id: string; login: string; name: string };\n};\n\nexport type DashboardsQueryVariables = Exact<{\n filter?: InputMaybe<DashboardFilter>;\n}>;\n\nexport type DashboardsQuery = {\n __typename?: 'Query';\n dashboards: Array<{\n __typename?: 'Dashboard';\n filters?: string | null;\n gridLayout?: string | null;\n id: string;\n name: string;\n }>;\n};\n\nexport type DepartmentsQueryVariables = Exact<{\n filter?: InputMaybe<DepartmentFilter>;\n}>;\n\nexport type DepartmentsQuery = {\n __typename?: 'Query';\n departments: Array<{ __typename?: 'Department'; id: string; name: string }>;\n};\n\nexport type FloorPlansQueryVariables = Exact<{\n filter?: InputMaybe<FloorPlanFilter>;\n}>;\n\nexport type FloorPlansQuery = {\n __typename?: 'Query';\n floorPlans: Array<{ __typename?: 'FloorPlan'; id: string; imageUrl: string; name: string }>;\n};\n\nexport type MetricValuesQueryVariables = Exact<{\n metricIds?: InputMaybe<Array<Scalars['ID']['input']> | Scalars['ID']['input']>;\n workplaceIds?: InputMaybe<Array<Scalars['ID']['input']> | Scalars['ID']['input']>;\n}>;\n\nexport type MetricValuesQuery = {\n __typename?: 'Query';\n metricValues: Array<{\n __typename?: 'MetricValue';\n active: boolean;\n id: string;\n metricId: string;\n statusColor: AndonLightColor;\n textValue?: string | null;\n timer?: number | null;\n type: MetricTypeEnum;\n unit?: MetricUnitEnum | null;\n workplaceId: string;\n }>;\n};\n\nexport type MetricsQueryVariables = Exact<{ [key: string]: never }>;\n\nexport type MetricsQuery = {\n __typename?: 'Query';\n metrics: Array<{ __typename?: 'Metric'; id: string; name: string }>;\n};\n\nexport type NotificationsQueryVariables = Exact<{\n filter?: InputMaybe<NotificationFilter>;\n}>;\n\nexport type NotificationsQuery = {\n __typename?: 'Query';\n notifications: Array<{\n __typename?: 'Notification';\n channel?: string | null;\n details?: string | null;\n emitterId: string;\n emitterType: string;\n id: string;\n message: string;\n receiverId: string;\n receiverType: string;\n status?: string | null;\n }>;\n};\n\nexport type OrdersQueryVariables = Exact<{\n filter?: InputMaybe<OrderFilter>;\n}>;\n\nexport type OrdersQuery = {\n __typename?: 'Query';\n orders: Array<{\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n items: Array<{\n __typename?: 'Item';\n count: number;\n id: string;\n order: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n items: Array<{\n __typename?: 'Item';\n count: number;\n id: string;\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n }>;\n workplaces: Array<{\n __typename?: 'Workplace';\n colorHex?: string | null;\n deactivated: boolean;\n departmentId?: string | null;\n dtrUrl?: string | null;\n id: string;\n minOperators: number;\n name: string;\n reasonGroupId: string;\n reasonsRecommendationsEnabled: boolean;\n currentStatusChange?: {\n __typename?: 'StatusChange';\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n reasonHasBeenRecommended: boolean;\n startedAt: string;\n workplaceId: string;\n author: { __typename?: 'User'; id: string; login: string; name: string };\n order?: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n } | null;\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n reason: {\n __typename?: 'Reason';\n acceptanceMonit: boolean;\n canBeRecommended: boolean;\n hasNote: boolean;\n id: string;\n isNoteRequired: boolean;\n leaf: boolean;\n name: string;\n parentId?: string | null;\n position: number;\n reasonGroupId: string;\n statusColor: AndonLightColor;\n temporary: boolean;\n };\n } | null;\n }>;\n };\n }>;\n workplaces: Array<{\n __typename?: 'Workplace';\n colorHex?: string | null;\n deactivated: boolean;\n departmentId?: string | null;\n dtrUrl?: string | null;\n id: string;\n minOperators: number;\n name: string;\n reasonGroupId: string;\n reasonsRecommendationsEnabled: boolean;\n }>;\n }>;\n};\n\nexport type OrdersExecutionsQueryVariables = Exact<{\n filter?: InputMaybe<OrderExecutionFilter>;\n}>;\n\nexport type OrdersExecutionsQuery = {\n __typename?: 'Query';\n ordersExecutions: Array<{\n __typename?: 'OrderExecution';\n finishedAt?: string | null;\n id: string;\n itemCount?: number | null;\n note?: string | null;\n standardRateMismatched: boolean;\n startedAt: string;\n workplaceId: string;\n item?: {\n __typename?: 'Item';\n count: number;\n id: string;\n order: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n items: Array<{\n __typename?: 'Item';\n count: number;\n id: string;\n order: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n workplaces: Array<{\n __typename?: 'Workplace';\n colorHex?: string | null;\n deactivated: boolean;\n departmentId?: string | null;\n dtrUrl?: string | null;\n id: string;\n minOperators: number;\n name: string;\n reasonGroupId: string;\n reasonsRecommendationsEnabled: boolean;\n currentStatusChange?: {\n __typename?: 'StatusChange';\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n reasonHasBeenRecommended: boolean;\n startedAt: string;\n workplaceId: string;\n author: { __typename?: 'User'; id: string; login: string; name: string };\n order?: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n } | null;\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n reason: {\n __typename?: 'Reason';\n acceptanceMonit: boolean;\n canBeRecommended: boolean;\n hasNote: boolean;\n id: string;\n isNoteRequired: boolean;\n leaf: boolean;\n name: string;\n parentId?: string | null;\n position: number;\n reasonGroupId: string;\n statusColor: AndonLightColor;\n temporary: boolean;\n };\n } | null;\n }>;\n };\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n }>;\n };\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n } | null;\n order: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n };\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n }>;\n};\n\nexport type ProductionInsightsQueryVariables = Exact<{\n input: ProductionInsightsInput;\n}>;\n\nexport type ProductionInsightsQuery = {\n __typename?: 'Query';\n productionInsights: {\n __typename?: 'ProductionInsightsResult';\n entries: Array<{ __typename?: 'ProductionInsightsEntry'; count: number; label: string }>;\n };\n};\n\nexport type ProductsQueryVariables = Exact<{\n filter?: InputMaybe<ProductFilter>;\n}>;\n\nexport type ProductsQuery = {\n __typename?: 'Query';\n products: Array<{\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n }>;\n};\n\nexport type ReasonsQueryVariables = Exact<{\n filter?: InputMaybe<ReasonFilter>;\n}>;\n\nexport type ReasonsQuery = {\n __typename?: 'Query';\n reasons: Array<{\n __typename?: 'Reason';\n acceptanceMonit: boolean;\n canBeRecommended: boolean;\n hasNote: boolean;\n id: string;\n isNoteRequired: boolean;\n leaf: boolean;\n name: string;\n parentId?: string | null;\n position: number;\n reasonGroupId: string;\n statusColor: AndonLightColor;\n temporary: boolean;\n }>;\n};\n\nexport type ReasonsRecommendationQueryVariables = Exact<{\n workplaceId: Scalars['String']['input'];\n}>;\n\nexport type ReasonsRecommendationQuery = {\n __typename?: 'Query';\n reasonsRecommendation?: {\n __typename?: 'ReasonsRecommendation';\n trainingStatus: TrainingStatus;\n reasons: Array<{\n __typename?: 'Reason';\n acceptanceMonit: boolean;\n canBeRecommended: boolean;\n hasNote: boolean;\n id: string;\n isNoteRequired: boolean;\n leaf: boolean;\n name: string;\n parentId?: string | null;\n position: number;\n reasonGroupId: string;\n statusColor: AndonLightColor;\n temporary: boolean;\n }>;\n } | null;\n};\n\nexport type ShiftsQueryVariables = Exact<{ [key: string]: never }>;\n\nexport type ShiftsQuery = {\n __typename?: 'Query';\n shifts: Array<{ __typename?: 'Shift'; finishedAt: string; id: string; name: string; startedAt: string }>;\n};\n\nexport type StaffingPlansQueryVariables = Exact<{\n filter?: InputMaybe<StaffingPlanFilter>;\n}>;\n\nexport type StaffingPlansQuery = {\n __typename?: 'Query';\n staffingPlans: Array<{\n __typename?: 'StaffingPlan';\n id: string;\n date: any;\n recommendedOperators: number;\n createdAt: any;\n updatedAt: any;\n workplace: {\n __typename?: 'Workplace';\n colorHex?: string | null;\n deactivated: boolean;\n departmentId?: string | null;\n dtrUrl?: string | null;\n id: string;\n minOperators: number;\n name: string;\n reasonGroupId: string;\n reasonsRecommendationsEnabled: boolean;\n currentStatusChange?: {\n __typename?: 'StatusChange';\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n reasonHasBeenRecommended: boolean;\n startedAt: string;\n workplaceId: string;\n author: { __typename?: 'User'; id: string; login: string; name: string };\n order?: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n items: Array<{\n __typename?: 'Item';\n count: number;\n id: string;\n order: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n workplaces: Array<{\n __typename?: 'Workplace';\n colorHex?: string | null;\n deactivated: boolean;\n departmentId?: string | null;\n dtrUrl?: string | null;\n id: string;\n minOperators: number;\n name: string;\n reasonGroupId: string;\n reasonsRecommendationsEnabled: boolean;\n currentStatusChange?: {\n __typename?: 'StatusChange';\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n reasonHasBeenRecommended: boolean;\n startedAt: string;\n workplaceId: string;\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n reason: {\n __typename?: 'Reason';\n acceptanceMonit: boolean;\n canBeRecommended: boolean;\n hasNote: boolean;\n id: string;\n isNoteRequired: boolean;\n leaf: boolean;\n name: string;\n parentId?: string | null;\n position: number;\n reasonGroupId: string;\n statusColor: AndonLightColor;\n temporary: boolean;\n };\n } | null;\n }>;\n };\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n }>;\n } | null;\n } | null;\n };\n shift: { __typename?: 'Shift'; finishedAt: string; id: string; name: string; startedAt: string };\n author: { __typename?: 'User'; id: string; login: string; name: string };\n }>;\n};\n\nexport type StandardRatesQueryVariables = Exact<{\n orderExecutionId: Scalars['ID']['input'];\n}>;\n\nexport type StandardRatesQuery = {\n __typename?: 'Query';\n standardRates: Array<{ __typename?: 'StandardRate'; id: string; label: string }>;\n};\n\nexport type StatusChangeTransitionPermissionsQueryVariables = Exact<{\n filter?: InputMaybe<StatusChangeTransitionPermissionFilter>;\n}>;\n\nexport type StatusChangeTransitionPermissionsQuery = {\n __typename?: 'Query';\n statusChangeTransitionPermissions: Array<{\n __typename?: 'StatusChangeTransitionPermission';\n fromReasonId: string;\n roleId: string;\n toReasonId: string;\n workplaceId: string;\n }>;\n};\n\nexport type StatusChangesQueryVariables = Exact<{\n filter?: InputMaybe<StatusChangeFilter>;\n}>;\n\nexport type StatusChangesQuery = {\n __typename?: 'Query';\n statusChanges: Array<{\n __typename?: 'StatusChange';\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n reasonHasBeenRecommended: boolean;\n startedAt: string;\n workplaceId: string;\n author: { __typename?: 'User'; id: string; login: string; name: string };\n order?: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n items: Array<{\n __typename?: 'Item';\n count: number;\n id: string;\n order: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n workplaces: Array<{\n __typename?: 'Workplace';\n colorHex?: string | null;\n deactivated: boolean;\n departmentId?: string | null;\n dtrUrl?: string | null;\n id: string;\n minOperators: number;\n name: string;\n reasonGroupId: string;\n reasonsRecommendationsEnabled: boolean;\n currentStatusChange?: {\n __typename?: 'StatusChange';\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n reasonHasBeenRecommended: boolean;\n startedAt: string;\n workplaceId: string;\n author: { __typename?: 'User'; id: string; login: string; name: string };\n order?: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n } | null;\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n reason: {\n __typename?: 'Reason';\n acceptanceMonit: boolean;\n canBeRecommended: boolean;\n hasNote: boolean;\n id: string;\n isNoteRequired: boolean;\n leaf: boolean;\n name: string;\n parentId?: string | null;\n position: number;\n reasonGroupId: string;\n statusColor: AndonLightColor;\n temporary: boolean;\n };\n } | null;\n }>;\n };\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n }>;\n } | null;\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n reason: {\n __typename?: 'Reason';\n acceptanceMonit: boolean;\n canBeRecommended: boolean;\n hasNote: boolean;\n id: string;\n isNoteRequired: boolean;\n leaf: boolean;\n name: string;\n parentId?: string | null;\n position: number;\n reasonGroupId: string;\n statusColor: AndonLightColor;\n temporary: boolean;\n };\n }>;\n};\n\nexport type StatusInsightsQueryVariables = Exact<{\n input: StatusInsightsInput;\n}>;\n\nexport type StatusInsightsQuery = {\n __typename?: 'Query';\n statusInsights: {\n __typename?: 'StatusInsightsResult';\n entries: Array<{\n __typename?: 'StatusInsightsEntry';\n averageDurationMinutes: number;\n label: string;\n occurrenceCount: number;\n }>;\n };\n};\n\nexport type UsersQueryVariables = Exact<{\n filter?: InputMaybe<UserFilter>;\n}>;\n\nexport type UsersQuery = {\n __typename?: 'Query';\n users: Array<{ __typename?: 'User'; id: string; login: string; name: string }>;\n};\n\nexport type UsersPresencesQueryVariables = Exact<{\n filter?: InputMaybe<UserPresenceFilter>;\n}>;\n\nexport type UsersPresencesQuery = {\n __typename?: 'Query';\n usersPresences: Array<{\n __typename?: 'UserPresence';\n finishedAt?: string | null;\n id: string;\n startedAt: string;\n workplaceId: string;\n author: { __typename?: 'User'; id: string; login: string; name: string };\n user: { __typename?: 'User'; id: string; login: string; name: string };\n }>;\n};\n\nexport type WidgetQueryVariables = Exact<{\n id: Scalars['ID']['input'];\n}>;\n\nexport type WidgetQuery = {\n __typename?: 'Query';\n widget: { __typename?: 'Widget'; config?: string | null; id: string };\n};\n\nexport type WidgetsQueryVariables = Exact<{\n filter?: InputMaybe<WidgetFilter>;\n}>;\n\nexport type WidgetsQuery = {\n __typename?: 'Query';\n widgets: Array<{ __typename?: 'Widget'; config?: string | null; id: string }>;\n};\n\nexport type WorkOrdersQueryVariables = Exact<{\n filter?: InputMaybe<WorkOrderFilter>;\n}>;\n\nexport type WorkOrdersQuery = {\n __typename?: 'Query';\n workOrders: Array<{\n __typename?: 'WorkOrder';\n closedAt?: string | null;\n createdAt: string;\n creationMethod: WorkOrderCreationMethodEnum;\n description?: string | null;\n dtrUrl?: string | null;\n dueAt?: string | null;\n id: string;\n name: string;\n note?: string | null;\n originalOccurrenceAt?: string | null;\n priority: WorkOrderPriorityEnum;\n procedureDescription?: string | null;\n procedureName?: string | null;\n procedureResponse: any;\n procedureTemplate: any;\n startAt?: string | null;\n status: WorkOrderStatusEnum;\n timeSpentHours?: number | null;\n timeSpentMinutes?: number | null;\n updatedAt: string;\n assignees: Array<{ __typename?: 'User'; id: string; login: string; name: string }>;\n category?: { __typename?: 'WorkOrderCategory'; description?: string | null; id: string; name: string } | null;\n workplaces: Array<{\n __typename?: 'Workplace';\n colorHex?: string | null;\n deactivated: boolean;\n departmentId?: string | null;\n dtrUrl?: string | null;\n id: string;\n minOperators: number;\n name: string;\n reasonGroupId: string;\n reasonsRecommendationsEnabled: boolean;\n currentStatusChange?: {\n __typename?: 'StatusChange';\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n reasonHasBeenRecommended: boolean;\n startedAt: string;\n workplaceId: string;\n author: { __typename?: 'User'; id: string; login: string; name: string };\n order?: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n items: Array<{\n __typename?: 'Item';\n count: number;\n id: string;\n order: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n workplaces: Array<{\n __typename?: 'Workplace';\n colorHex?: string | null;\n deactivated: boolean;\n departmentId?: string | null;\n dtrUrl?: string | null;\n id: string;\n minOperators: number;\n name: string;\n reasonGroupId: string;\n reasonsRecommendationsEnabled: boolean;\n }>;\n };\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n }>;\n } | null;\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n reason: {\n __typename?: 'Reason';\n acceptanceMonit: boolean;\n canBeRecommended: boolean;\n hasNote: boolean;\n id: string;\n isNoteRequired: boolean;\n leaf: boolean;\n name: string;\n parentId?: string | null;\n position: number;\n reasonGroupId: string;\n statusColor: AndonLightColor;\n temporary: boolean;\n };\n } | null;\n }>;\n }>;\n};\n\nexport type WorkOrdersInsightsQueryVariables = Exact<{\n input: WorkOrdersInsightsInput;\n}>;\n\nexport type WorkOrdersInsightsQuery = {\n __typename?: 'Query';\n workOrdersInsights: {\n __typename?: 'WorkOrdersInsightsResult';\n categories: Array<{\n __typename?: 'WorkOrdersInsightsCategoryEntry';\n categoryId: string;\n categoryName: string;\n totalCount: number;\n durations: Array<{\n __typename?: 'WorkOrdersInsightsDurationEntry';\n count: number;\n lowerBoundMinutes?: number | null;\n upperBoundMinutes?: number | null;\n }>;\n }>;\n };\n};\n\nexport type WorkplaceAssignmentsQueryVariables = Exact<{\n input: WorkplaceAssignmentsInput;\n}>;\n\nexport type WorkplaceAssignmentsQuery = {\n __typename?: 'Query';\n workplaceAssignments: {\n __typename?: 'WorkplaceAssignmentsView';\n summary: { __typename?: 'AssignmentSummary'; totalAssigned: number; totalCheckedIn: number; totalMissing: number };\n unassignedOperators: Array<{ __typename?: 'User'; id: string; login: string; name: string }>;\n workplaces: Array<{\n __typename?: 'WorkplaceWithAssignment';\n assignedCount: number;\n isOvercapacity: boolean;\n missingCount: number;\n recommendedOperators: number;\n assignedOperators: Array<{\n __typename?: 'AssignedOperator';\n presenceStatus: PresenceStatusEnum;\n user: { __typename?: 'User'; id: string; login: string; name: string };\n }>;\n unplannedOperators: Array<{\n __typename?: 'UnplannedOperator';\n plannedWorkplace?: {\n __typename?: 'Workplace';\n colorHex?: string | null;\n deactivated: boolean;\n departmentId?: string | null;\n dtrUrl?: string | null;\n id: string;\n minOperators: number;\n name: string;\n reasonGroupId: string;\n reasonsRecommendationsEnabled: boolean;\n currentStatusChange?: {\n __typename?: 'StatusChange';\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n reasonHasBeenRecommended: boolean;\n startedAt: string;\n workplaceId: string;\n author: { __typename?: 'User'; id: string; login: string; name: string };\n order?: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n items: Array<{\n __typename?: 'Item';\n count: number;\n id: string;\n order: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n workplaces: Array<{\n __typename?: 'Workplace';\n colorHex?: string | null;\n deactivated: boolean;\n departmentId?: string | null;\n dtrUrl?: string | null;\n id: string;\n minOperators: number;\n name: string;\n reasonGroupId: string;\n reasonsRecommendationsEnabled: boolean;\n currentStatusChange?: {\n __typename?: 'StatusChange';\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n reasonHasBeenRecommended: boolean;\n startedAt: string;\n workplaceId: string;\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n reason: {\n __typename?: 'Reason';\n acceptanceMonit: boolean;\n canBeRecommended: boolean;\n hasNote: boolean;\n id: string;\n isNoteRequired: boolean;\n leaf: boolean;\n name: string;\n parentId?: string | null;\n position: number;\n reasonGroupId: string;\n statusColor: AndonLightColor;\n temporary: boolean;\n };\n } | null;\n }>;\n };\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n }>;\n } | null;\n } | null;\n } | null;\n user: { __typename?: 'User'; id: string; login: string; name: string };\n }>;\n workplace: {\n __typename?: 'Workplace';\n colorHex?: string | null;\n deactivated: boolean;\n departmentId?: string | null;\n dtrUrl?: string | null;\n id: string;\n minOperators: number;\n name: string;\n reasonGroupId: string;\n reasonsRecommendationsEnabled: boolean;\n currentStatusChange?: {\n __typename?: 'StatusChange';\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n reasonHasBeenRecommended: boolean;\n startedAt: string;\n workplaceId: string;\n } | null;\n };\n }>;\n };\n};\n\nexport type WorkplacePerformanceInsightsQueryVariables = Exact<{\n input: WorkplacePerformanceInsightsInput;\n}>;\n\nexport type WorkplacePerformanceInsightsQuery = {\n __typename?: 'Query';\n workplacePerformanceInsights: {\n __typename?: 'WorkplacePerformanceInsightsResult';\n endDate: any;\n mtbf: string;\n mtbfSeconds?: number | null;\n mttr: string;\n mttrSeconds?: number | null;\n startDate: any;\n offScheduleDuration: string;\n offScheduleSeconds: number;\n totalDowntime: string;\n totalDowntimePercentage: number;\n totalDowntimeSeconds: number;\n totalDuration: string;\n totalSeconds: number;\n totalUptime: string;\n totalUptimePercentage: number;\n totalUptimeSeconds: number;\n workplaceId: string;\n workplaceName: string;\n reasons: Array<{\n __typename?: 'WorkplacePerformanceInsightsReason';\n availabilityStatus: AvailabilityStatus;\n averageDuration: string;\n averageDurationSeconds: number;\n maxDuration: string;\n maxDurationSeconds: number;\n occurrences: number;\n percentage: number;\n reasonColor: AndonLightColor;\n reasonId: string;\n reasonName: string;\n totalDuration: string;\n totalSeconds: number;\n statusChanges: Array<{\n __typename?: 'WorkplacePerformanceInsightsStatusChange';\n firstSegmentStart: any;\n id: string;\n lastSegmentEnd: any;\n note?: string | null;\n originalEnd?: any | null;\n originalStart: any;\n segments?: any | null;\n totalSegmentDuration: string;\n totalSegmentSeconds: number;\n uuid: string;\n }>;\n }>;\n };\n};\n\nexport type WorkplacesQueryVariables = Exact<{\n filter?: InputMaybe<WorkplaceFilter>;\n}>;\n\nexport type WorkplacesQuery = {\n __typename?: 'Query';\n workplaces: Array<{\n __typename?: 'Workplace';\n colorHex?: string | null;\n deactivated: boolean;\n departmentId?: string | null;\n dtrUrl?: string | null;\n id: string;\n minOperators: number;\n name: string;\n reasonGroupId: string;\n reasonsRecommendationsEnabled: boolean;\n currentStatusChange?: {\n __typename?: 'StatusChange';\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n reasonHasBeenRecommended: boolean;\n startedAt: string;\n workplaceId: string;\n author: { __typename?: 'User'; id: string; login: string; name: string };\n order?: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n items: Array<{\n __typename?: 'Item';\n count: number;\n id: string;\n order: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n workplaces: Array<{\n __typename?: 'Workplace';\n colorHex?: string | null;\n deactivated: boolean;\n departmentId?: string | null;\n dtrUrl?: string | null;\n id: string;\n minOperators: number;\n name: string;\n reasonGroupId: string;\n reasonsRecommendationsEnabled: boolean;\n }>;\n };\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n }>;\n } | null;\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n reason: {\n __typename?: 'Reason';\n acceptanceMonit: boolean;\n canBeRecommended: boolean;\n hasNote: boolean;\n id: string;\n isNoteRequired: boolean;\n leaf: boolean;\n name: string;\n parentId?: string | null;\n position: number;\n reasonGroupId: string;\n statusColor: AndonLightColor;\n temporary: boolean;\n };\n } | null;\n }>;\n};\n\nexport type AssignOperatorMutationVariables = Exact<{\n input: AssignOperatorInput;\n}>;\n\nexport type AssignOperatorMutation = {\n __typename?: 'Mutation';\n assignOperatorToWorkplace: {\n __typename?: 'AssignOperatorToWorkplacePayload';\n errors?: Array<{ __typename?: 'MutationError'; field?: string | null; messages: Array<string> }> | null;\n assignment?: {\n __typename?: 'WorkplaceAssignment';\n id: string;\n validFrom: any;\n user: { __typename?: 'User'; id: string; name: string };\n workplace?: { __typename?: 'Workplace'; id: string; name: string } | null;\n shift: { __typename?: 'Shift'; id: string; name: string };\n } | null;\n };\n};\n\nexport type UnassignOperatorMutationVariables = Exact<{\n input: UnassignOperatorInput;\n}>;\n\nexport type UnassignOperatorMutation = {\n __typename?: 'Mutation';\n unassignOperatorFromWorkplace: {\n __typename?: 'UnassignOperatorFromWorkplacePayload';\n errors?: Array<{ __typename?: 'MutationError'; field?: string | null; messages: Array<string> }> | null;\n assignment?: {\n __typename?: 'WorkplaceAssignment';\n id: string;\n validFrom: any;\n user: { __typename?: 'User'; id: string; name: string };\n } | null;\n };\n};\n\nexport type GetWorkplacePerformanceInsightsQueryVariables = Exact<{\n input: WorkplacePerformanceInsightsInput;\n}>;\n\nexport type GetWorkplacePerformanceInsightsQuery = {\n __typename?: 'Query';\n workplacePerformanceInsights: {\n __typename?: 'WorkplacePerformanceInsightsResult';\n workplaceId: string;\n workplaceName: string;\n startDate: any;\n endDate: any;\n totalDuration: string;\n totalSeconds: number;\n totalUptime: string;\n totalUptimePercentage: number;\n totalDowntime: string;\n totalDowntimePercentage: number;\n mtbf: string;\n mttr: string;\n reasons: Array<{\n __typename?: 'WorkplacePerformanceInsightsReason';\n reasonId: string;\n reasonName: string;\n reasonColor: AndonLightColor;\n availabilityStatus: AvailabilityStatus;\n totalDuration: string;\n totalSeconds: number;\n percentage: number;\n occurrences: number;\n averageDuration: string;\n maxDuration: string;\n }>;\n };\n};\n\nexport type ListActualStaffingCountsQueryVariables = Exact<{\n filter?: InputMaybe<ActualStaffingCountFilter>;\n}>;\n\nexport type ListActualStaffingCountsQuery = {\n __typename?: 'Query';\n actualStaffingCounts: Array<{\n __typename?: 'ActualStaffingCount';\n date: any;\n actualOperators: number;\n plannedOperators?: number | null;\n hasDeviation: boolean;\n workplace: { __typename?: 'Workplace'; id: string; name: string };\n shift: { __typename?: 'Shift'; id: string; name: string };\n }>;\n};\n\nexport type ListStaffingPlansQueryVariables = Exact<{\n filter?: InputMaybe<StaffingPlanFilter>;\n}>;\n\nexport type ListStaffingPlansQuery = {\n __typename?: 'Query';\n staffingPlans: Array<{\n __typename?: 'StaffingPlan';\n id: string;\n date: any;\n recommendedOperators: number;\n workplace: { __typename?: 'Workplace'; id: string; name: string; colorHex?: string | null };\n shift: { __typename?: 'Shift'; id: string; name: string };\n }>;\n};\n\nexport type ListStatusChangesQueryVariables = Exact<{\n filter?: InputMaybe<StatusChangeFilter>;\n}>;\n\nexport type ListStatusChangesQuery = {\n __typename?: 'Query';\n statusChanges: Array<{\n __typename?: 'StatusChange';\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n reasonHasBeenRecommended: boolean;\n startedAt: string;\n workplaceId: string;\n author: { __typename?: 'User'; id: string; login: string; name: string };\n order?: {\n __typename?: 'Order';\n executedCount: number;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n finishedAt?: string | null;\n } | null;\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n reason: {\n __typename?: 'Reason';\n acceptanceMonit: boolean;\n canBeRecommended: boolean;\n hasNote: boolean;\n id: string;\n isNoteRequired: boolean;\n leaf: boolean;\n name: string;\n parentId?: string | null;\n position: number;\n reasonGroupId: string;\n statusColor: AndonLightColor;\n temporary: boolean;\n };\n }>;\n};\n\nexport type ListWorkOrdersQueryVariables = Exact<{\n filter?: InputMaybe<WorkOrderFilter>;\n}>;\n\nexport type ListWorkOrdersQuery = {\n __typename?: 'Query';\n workOrders: Array<{\n __typename?: 'WorkOrder';\n closedAt?: string | null;\n createdAt: string;\n creationMethod: WorkOrderCreationMethodEnum;\n description?: string | null;\n dtrUrl?: string | null;\n dueAt?: string | null;\n id: string;\n name: string;\n note?: string | null;\n originalOccurrenceAt?: string | null;\n priority: WorkOrderPriorityEnum;\n procedureDescription?: string | null;\n procedureName?: string | null;\n procedureResponse: any;\n procedureTemplate: any;\n startAt?: string | null;\n status: WorkOrderStatusEnum;\n timeSpentHours?: number | null;\n timeSpentMinutes?: number | null;\n updatedAt: string;\n assignees: Array<{ __typename?: 'User'; id: string; login: string; name: string }>;\n category?: { __typename?: 'WorkOrderCategory'; description?: string | null; id: string; name: string } | null;\n workplaces: Array<{ __typename?: 'Workplace'; id: string; name: string }>;\n }>;\n};\n\nexport type ListWorkplaceAssignmentsQueryVariables = Exact<{\n input: WorkplaceAssignmentsInput;\n}>;\n\nexport type ListWorkplaceAssignmentsQuery = {\n __typename?: 'Query';\n workplaceAssignments: {\n __typename?: 'WorkplaceAssignmentsView';\n workplaces: Array<{\n __typename?: 'WorkplaceWithAssignment';\n recommendedOperators: number;\n assignedCount: number;\n missingCount: number;\n isOvercapacity: boolean;\n workplace: { __typename?: 'Workplace'; id: string; name: string };\n assignedOperators: Array<{\n __typename?: 'AssignedOperator';\n presenceStatus: PresenceStatusEnum;\n user: { __typename?: 'User'; id: string; name: string };\n }>;\n unplannedOperators: Array<{\n __typename?: 'UnplannedOperator';\n user: { __typename?: 'User'; id: string; name: string };\n plannedWorkplace?: { __typename?: 'Workplace'; id: string; name: string } | null;\n }>;\n }>;\n unassignedOperators: Array<{ __typename?: 'User'; id: string; name: string }>;\n summary: { __typename?: 'AssignmentSummary'; totalAssigned: number; totalCheckedIn: number; totalMissing: number };\n };\n};\n\nexport type ListWorkplacesQueryVariables = Exact<{\n filter?: InputMaybe<WorkplaceFilter>;\n}>;\n\nexport type ListWorkplacesQuery = {\n __typename?: 'Query';\n workplaces: Array<{\n __typename?: 'Workplace';\n deactivated: boolean;\n departmentId?: string | null;\n id: string;\n minOperators: number;\n name: string;\n reasonGroupId: string;\n reasonsRecommendationsEnabled: boolean;\n }>;\n};\n\nexport type WorkplaceEventSubscriptionVariables = Exact<{\n id: Scalars['ID']['input'];\n}>;\n\nexport type WorkplaceEventSubscription = {\n __typename?: 'Subscription';\n workplaceEvent: {\n __typename?: 'WorkplaceEventSubscriptionPayload';\n event: WorkplaceEvent;\n subject?:\n | {\n __typename: 'Counter';\n directoryId?: string | null;\n hasNote: boolean;\n id: string;\n isDisabled: boolean;\n kind: CounterKindEnum;\n name: string;\n value: number;\n workplaceId: string;\n counterPosition: number;\n }\n | { __typename: 'Item'; count: number; id: string }\n | {\n __typename: 'MetricValue';\n active: boolean;\n id: string;\n metricId: string;\n statusColor: AndonLightColor;\n textValue?: string | null;\n timer?: number | null;\n type: MetricTypeEnum;\n unit?: MetricUnitEnum | null;\n workplaceId: string;\n }\n | {\n __typename: 'Notification';\n channel?: string | null;\n details?: string | null;\n emitterId: string;\n emitterType: string;\n id: string;\n message: string;\n receiverId: string;\n receiverType: string;\n status?: string | null;\n }\n | {\n __typename: 'Order';\n executedCount: number;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n orderStartedAt?: string | null;\n orderFinishedAt?: string | null;\n items: Array<{ __typename?: 'Item'; count: number; id: string }>;\n workplaces: Array<{\n __typename?: 'Workplace';\n deactivated: boolean;\n departmentId?: string | null;\n id: string;\n minOperators: number;\n name: string;\n reasonGroupId: string;\n reasonsRecommendationsEnabled: boolean;\n }>;\n }\n | {\n __typename: 'OrderExecution';\n finishedAt?: string | null;\n id: string;\n itemCount?: number | null;\n note?: string | null;\n standardRateMismatched: boolean;\n startedAt: string;\n workplaceId: string;\n item?: {\n __typename?: 'Item';\n count: number;\n id: string;\n order: {\n __typename?: 'Order';\n executedCount: number;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n finishedAt?: string | null;\n };\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n } | null;\n }\n | { __typename: 'Shift'; id: string; name: string; shiftFinishedAt: string; shiftStartedAt: string }\n | {\n __typename: 'StatusChange';\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n reasonHasBeenRecommended: boolean;\n startedAt: string;\n workplaceId: string;\n author: { __typename?: 'User'; id: string; login: string; name: string };\n order?: {\n __typename?: 'Order';\n executedCount: number;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n finishedAt?: string | null;\n } | null;\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n reason: {\n __typename?: 'Reason';\n acceptanceMonit: boolean;\n canBeRecommended: boolean;\n hasNote: boolean;\n id: string;\n isNoteRequired: boolean;\n leaf: boolean;\n name: string;\n parentId?: string | null;\n position: number;\n reasonGroupId: string;\n statusColor: AndonLightColor;\n temporary: boolean;\n };\n }\n | {\n __typename: 'UserPresence';\n finishedAt?: string | null;\n id: string;\n startedAt: string;\n workplaceId: string;\n user: { __typename?: 'User'; id: string; login: string; name: string };\n }\n | null;\n };\n};\n\nexport const AssignOperatorToWorkplaceDocument = gql`\n mutation assignOperatorToWorkplace($input: AssignOperatorInput!) {\n assignOperatorToWorkplace(input: $input) {\n assignment {\n createdAt\n id\n shift {\n finishedAt\n id\n name\n startedAt\n }\n user {\n id\n login\n name\n }\n validFrom\n workplace {\n colorHex\n currentStatusChange {\n author {\n id\n login\n name\n }\n finishedAt\n id\n note\n order {\n executedCount\n finishedAt\n id\n items {\n count\n id\n order {\n executedCount\n finishedAt\n id\n note\n number\n plannedCount\n position\n startedAt\n workplaces {\n colorHex\n currentStatusChange {\n finishedAt\n id\n note\n product {\n assemblyManual\n id\n name\n number\n }\n reason {\n acceptanceMonit\n canBeRecommended\n hasNote\n id\n isNoteRequired\n leaf\n name\n parentId\n position\n reasonGroupId\n statusColor\n temporary\n }\n reasonHasBeenRecommended\n startedAt\n workplaceId\n }\n deactivated\n departmentId\n dtrUrl\n id\n minOperators\n name\n reasonGroupId\n reasonsRecommendationsEnabled\n }\n }\n product {\n assemblyManual\n id\n name\n number\n }\n }\n note\n number\n plannedCount\n position\n startedAt\n }\n reasonHasBeenRecommended\n startedAt\n workplaceId\n }\n deactivated\n departmentId\n dtrUrl\n id\n minOperators\n name\n reasonGroupId\n reasonsRecommendationsEnabled\n }\n }\n errors {\n field\n messages\n }\n }\n }\n`;\nexport const BulkUpsertStaffingPlansDocument = gql`\n mutation bulkUpsertStaffingPlans($input: BulkStaffingPlanInput!) {\n bulkUpsertStaffingPlans(input: $input) {\n errors {\n field\n messages\n }\n staffingPlans {\n id\n workplace {\n colorHex\n currentStatusChange {\n author {\n id\n login\n name\n }\n finishedAt\n id\n note\n order {\n executedCount\n finishedAt\n id\n items {\n count\n id\n order {\n executedCount\n finishedAt\n id\n note\n number\n plannedCount\n position\n startedAt\n workplaces {\n colorHex\n currentStatusChange {\n finishedAt\n id\n note\n product {\n assemblyManual\n id\n name\n number\n }\n reason {\n acceptanceMonit\n canBeRecommended\n hasNote\n id\n isNoteRequired\n leaf\n name\n parentId\n position\n reasonGroupId\n statusColor\n temporary\n }\n reasonHasBeenRecommended\n startedAt\n workplaceId\n }\n deactivated\n departmentId\n dtrUrl\n id\n minOperators\n name\n reasonGroupId\n reasonsRecommendationsEnabled\n }\n }\n product {\n assemblyManual\n id\n name\n number\n }\n }\n note\n number\n plannedCount\n position\n startedAt\n }\n reasonHasBeenRecommended\n startedAt\n workplaceId\n }\n deactivated\n departmentId\n dtrUrl\n id\n minOperators\n name\n reasonGroupId\n reasonsRecommendationsEnabled\n }\n date\n shift {\n finishedAt\n id\n name\n startedAt\n }\n recommendedOperators\n createdAt\n updatedAt\n author {\n id\n login\n name\n }\n }\n }\n }\n`;\nexport const CreateDashboardDocument = gql`\n mutation createDashboard($filters: String, $gridLayout: String, $id: ID!, $name: String!) {\n createDashboard(filters: $filters, gridLayout: $gridLayout, id: $id, name: $name) {\n dashboard {\n filters\n gridLayout\n id\n name\n }\n errors {\n field\n messages\n }\n }\n }\n`;\nexport const CreateOrderDocument = gql`\n mutation createOrder($id: ID!, $number: String!) {\n createOrder(id: $id, number: $number) {\n errors {\n field\n messages\n }\n order {\n executedCount\n finishedAt\n id\n items {\n count\n id\n order {\n executedCount\n finishedAt\n id\n note\n number\n plannedCount\n position\n startedAt\n workplaces {\n colorHex\n currentStatusChange {\n author {\n id\n login\n name\n }\n finishedAt\n id\n note\n order {\n executedCount\n finishedAt\n id\n note\n number\n plannedCount\n position\n startedAt\n }\n product {\n assemblyManual\n id\n name\n number\n }\n reason {\n acceptanceMonit\n canBeRecommended\n hasNote\n id\n isNoteRequired\n leaf\n name\n parentId\n position\n reasonGroupId\n statusColor\n temporary\n }\n reasonHasBeenRecommended\n startedAt\n workplaceId\n }\n deactivated\n departmentId\n dtrUrl\n id\n minOperators\n name\n reasonGroupId\n reasonsRecommendationsEnabled\n }\n }\n product {\n assemblyManual\n id\n name\n number\n }\n }\n note\n number\n plannedCount\n position\n startedAt\n }\n }\n }\n`;\nexport const CreateProductDocument = gql`\n mutation createProduct($id: ID!, $name: String, $number: String!) {\n createProduct(id: $id, name: $name, number: $number) {\n errors {\n field\n messages\n }\n product {\n assemblyManual\n id\n name\n number\n }\n }\n }\n`;\nexport const CreateStaffingPlanDocument = gql`\n mutation createStaffingPlan($input: StaffingPlanInput!) {\n createStaffingPlan(input: $input) {\n errors {\n field\n messages\n }\n staffingPlan {\n id\n workplace {\n colorHex\n currentStatusChange {\n author {\n id\n login\n name\n }\n finishedAt\n id\n note\n order {\n executedCount\n finishedAt\n id\n items {\n count\n id\n order {\n executedCount\n finishedAt\n id\n note\n number\n plannedCount\n position\n startedAt\n workplaces {\n colorHex\n currentStatusChange {\n finishedAt\n id\n note\n product {\n assemblyManual\n id\n name\n number\n }\n reason {\n acceptanceMonit\n canBeRecommended\n hasNote\n id\n isNoteRequired\n leaf\n name\n parentId\n position\n reasonGroupId\n statusColor\n temporary\n }\n reasonHasBeenRecommended\n startedAt\n workplaceId\n }\n deactivated\n departmentId\n dtrUrl\n id\n minOperators\n name\n reasonGroupId\n reasonsRecommendationsEnabled\n }\n }\n product {\n assemblyManual\n id\n name\n number\n }\n }\n note\n number\n plannedCount\n position\n startedAt\n }\n reasonHasBeenRecommended\n startedAt\n workplaceId\n }\n deactivated\n departmentId\n dtrUrl\n id\n minOperators\n name\n reasonGroupId\n reasonsRecommendationsEnabled\n }\n date\n shift {\n finishedAt\n id\n name\n startedAt\n }\n recommendedOperators\n createdAt\n updatedAt\n author {\n id\n login\n name\n }\n }\n }\n }\n`;\nexport const CreateStatusChangeDocument = gql`\n mutation createStatusChange(\n $id: ID!\n $note: String\n $reasonHasBeenRecommended: Boolean\n $reasonId: ID!\n $startedAt: String\n $userId: ID\n $workplaceId: ID!\n ) {\n createStatusChange(\n id: $id\n note: $note\n reasonHasBeenRecommended: $reasonHasBeenRecommended\n reasonId: $reasonId\n startedAt: $startedAt\n userId: $userId\n workplaceId: $workplaceId\n ) {\n errors {\n field\n messages\n }\n statusChange {\n author {\n id\n login\n name\n }\n finishedAt\n id\n note\n order {\n executedCount\n finishedAt\n id\n items {\n count\n id\n order {\n executedCount\n finishedAt\n id\n note\n number\n plannedCount\n position\n startedAt\n workplaces {\n colorHex\n currentStatusChange {\n author {\n id\n login\n name\n }\n finishedAt\n id\n note\n order {\n executedCount\n finishedAt\n id\n note\n number\n plannedCount\n position\n startedAt\n }\n product {\n assemblyManual\n id\n name\n number\n }\n reason {\n acceptanceMonit\n canBeRecommended\n hasNote\n id\n isNoteRequired\n leaf\n name\n parentId\n position\n reasonGroupId\n statusColor\n temporary\n }\n reasonHasBeenRecommended\n startedAt\n workplaceId\n }\n deactivated\n departmentId\n dtrUrl\n id\n minOperators\n name\n reasonGroupId\n reasonsRecommendationsEnabled\n }\n }\n product {\n assemblyManual\n id\n name\n number\n }\n }\n note\n number\n plannedCount\n position\n startedAt\n }\n product {\n assemblyManual\n id\n name\n number\n }\n reason {\n acceptanceMonit\n canBeRecommended\n hasNote\n id\n isNoteRequired\n leaf\n name\n parentId\n position\n reasonGroupId\n statusColor\n temporary\n }\n reasonHasBeenRecommended\n startedAt\n workplaceId\n }\n }\n }\n`;\nexport const CreateUserPresenceDocument = gql`\n mutation createUserPresence($id: ID!, $userToken: String!, $workplaceId: ID!) {\n createUserPresence(id: $id, userToken: $userToken, workplaceId: $workplaceId) {\n errors {\n field\n messages\n }\n userPresence {\n author {\n id\n login\n name\n }\n finishedAt\n id\n startedAt\n user {\n id\n login\n name\n }\n workplaceId\n }\n }\n }\n`;\nexport const CreateWidgetDocument = gql`\n mutation createWidget($config: String, $id: ID!) {\n createWidget(config: $config, id: $id) {\n errors {\n field\n messages\n }\n widget {\n config\n id\n }\n }\n }\n`;\nexport const PauseOrderExecutionDocument = gql`\n mutation pauseOrderExecution($id: ID!, $statusChangeId: ID!) {\n pauseOrderExecution(id: $id, statusChangeId: $statusChangeId) {\n errors {\n field\n messages\n }\n orderExecution {\n finishedAt\n id\n item {\n count\n id\n order {\n executedCount\n finishedAt\n id\n items {\n count\n id\n order {\n executedCount\n finishedAt\n id\n note\n number\n plannedCount\n position\n startedAt\n workplaces {\n colorHex\n currentStatusChange {\n author {\n id\n login\n name\n }\n finishedAt\n id\n note\n order {\n executedCount\n finishedAt\n id\n note\n number\n plannedCount\n position\n startedAt\n }\n product {\n assemblyManual\n id\n name\n number\n }\n reason {\n acceptanceMonit\n canBeRecommended\n hasNote\n id\n isNoteRequired\n leaf\n name\n parentId\n position\n reasonGroupId\n statusColor\n temporary\n }\n reasonHasBeenRecommended\n startedAt\n workplaceId\n }\n deactivated\n departmentId\n dtrUrl\n id\n minOperators\n name\n reasonGroupId\n reasonsRecommendationsEnabled\n }\n }\n product {\n assemblyManual\n id\n name\n number\n }\n }\n note\n number\n plannedCount\n position\n startedAt\n }\n product {\n assemblyManual\n id\n name\n number\n }\n }\n itemCount\n note\n order {\n executedCount\n finishedAt\n id\n note\n number\n plannedCount\n position\n startedAt\n }\n product {\n assemblyManual\n id\n name\n number\n }\n standardRateMismatched\n startedAt\n workplaceId\n }\n }\n }\n`;\nexport const RemoveDashboardDocument = gql`\n mutation removeDashboard($id: ID!) {\n removeDashboard(id: $id) {\n errors {\n field\n messages\n }\n }\n }\n`;\nexport const RemoveStaffingPlanDocument = gql`\n mutation removeStaffingPlan($id: ID!) {\n removeStaffingPlan(id: $id) {\n errors {\n field\n messages\n }\n }\n }\n`;\nexport const RemoveUserPresenceDocument = gql`\n mutation removeUserPresence($id: ID!) {\n removeUserPresence(id: $id) {\n errors {\n field\n messages\n }\n }\n }\n`;\nexport const RemoveWidgetDocument = gql`\n mutation removeWidget($id: ID!) {\n removeWidget(id: $id) {\n errors {\n field\n messages\n }\n }\n }\n`;\nexport const RemoveWorkplaceUsersPresencesDocument = gql`\n mutation removeWorkplaceUsersPresences($workplaceId: ID!) {\n removeWorkplaceUsersPresences(workplaceId: $workplaceId) {\n errors {\n field\n messages\n }\n }\n }\n`;\nexport const RequestFeatureAccessDocument = gql`\n mutation requestFeatureAccess($input: RequestFeatureAccessInput!) {\n requestFeatureAccess(input: $input) {\n errors {\n field\n messages\n }\n success\n }\n }\n`;\nexport const SetCounterDocument = gql`\n mutation setCounter($id: ID!, $note: String, $orderExecutionId: ID, $value: Float!) {\n setCounter(id: $id, note: $note, orderExecutionId: $orderExecutionId, value: $value) {\n counter {\n directoryId\n hasNote\n id\n isDisabled\n kind\n name\n position\n value\n workplaceId\n }\n errors {\n field\n messages\n }\n }\n }\n`;\nexport const StartOrderExecutionDocument = gql`\n mutation startOrderExecution(\n $id: ID!\n $itemCount: Float\n $order: OrderInput!\n $product: ProductInput\n $statusChangeId: ID!\n $workplaceId: ID!\n ) {\n startOrderExecution(\n id: $id\n itemCount: $itemCount\n order: $order\n product: $product\n statusChangeId: $statusChangeId\n workplaceId: $workplaceId\n ) {\n errors {\n field\n messages\n }\n orderExecution {\n finishedAt\n id\n item {\n count\n id\n order {\n executedCount\n finishedAt\n id\n items {\n count\n id\n order {\n executedCount\n finishedAt\n id\n note\n number\n plannedCount\n position\n startedAt\n workplaces {\n colorHex\n currentStatusChange {\n author {\n id\n login\n name\n }\n finishedAt\n id\n note\n order {\n executedCount\n finishedAt\n id\n note\n number\n plannedCount\n position\n startedAt\n }\n product {\n assemblyManual\n id\n name\n number\n }\n reason {\n acceptanceMonit\n canBeRecommended\n hasNote\n id\n isNoteRequired\n leaf\n name\n parentId\n position\n reasonGroupId\n statusColor\n temporary\n }\n reasonHasBeenRecommended\n startedAt\n workplaceId\n }\n deactivated\n departmentId\n dtrUrl\n id\n minOperators\n name\n reasonGroupId\n reasonsRecommendationsEnabled\n }\n }\n product {\n assemblyManual\n id\n name\n number\n }\n }\n note\n number\n plannedCount\n position\n startedAt\n }\n product {\n assemblyManual\n id\n name\n number\n }\n }\n itemCount\n note\n order {\n executedCount\n finishedAt\n id\n note\n number\n plannedCount\n position\n startedAt\n }\n product {\n assemblyManual\n id\n name\n number\n }\n standardRateMismatched\n startedAt\n workplaceId\n }\n }\n }\n`;\nexport const StartTrialDocument = gql`\n mutation startTrial($input: StartTrialInput!) {\n startTrial(input: $input) {\n errors {\n field\n messages\n }\n success\n }\n }\n`;\nexport const StopOrderExecutionDocument = gql`\n mutation stopOrderExecution($id: ID!, $statusChangeId: ID!) {\n stopOrderExecution(id: $id, statusChangeId: $statusChangeId) {\n errors {\n field\n messages\n }\n orderExecution {\n finishedAt\n id\n item {\n count\n id\n order {\n executedCount\n finishedAt\n id\n items {\n count\n id\n order {\n executedCount\n finishedAt\n id\n note\n number\n plannedCount\n position\n startedAt\n workplaces {\n colorHex\n currentStatusChange {\n author {\n id\n login\n name\n }\n finishedAt\n id\n note\n order {\n executedCount\n finishedAt\n id\n note\n number\n plannedCount\n position\n startedAt\n }\n product {\n assemblyManual\n id\n name\n number\n }\n reason {\n acceptanceMonit\n canBeRecommended\n hasNote\n id\n isNoteRequired\n leaf\n name\n parentId\n position\n reasonGroupId\n statusColor\n temporary\n }\n reasonHasBeenRecommended\n startedAt\n workplaceId\n }\n deactivated\n departmentId\n dtrUrl\n id\n minOperators\n name\n reasonGroupId\n reasonsRecommendationsEnabled\n }\n }\n product {\n assemblyManual\n id\n name\n number\n }\n }\n note\n number\n plannedCount\n position\n startedAt\n }\n product {\n assemblyManual\n id\n name\n number\n }\n }\n itemCount\n note\n order {\n executedCount\n finishedAt\n id\n note\n number\n plannedCount\n position\n startedAt\n }\n product {\n assemblyManual\n id\n name\n number\n }\n standardRateMismatched\n startedAt\n workplaceId\n }\n }\n }\n`;\nexport const UnassignOperatorFromWorkplaceDocument = gql`\n mutation unassignOperatorFromWorkplace($input: UnassignOperatorInput!) {\n unassignOperatorFromWorkplace(input: $input) {\n assignment {\n createdAt\n id\n shift {\n finishedAt\n id\n name\n startedAt\n }\n user {\n id\n login\n name\n }\n validFrom\n workplace {\n colorHex\n currentStatusChange {\n author {\n id\n login\n name\n }\n finishedAt\n id\n note\n order {\n executedCount\n finishedAt\n id\n items {\n count\n id\n order {\n executedCount\n finishedAt\n id\n note\n number\n plannedCount\n position\n startedAt\n workplaces {\n colorHex\n currentStatusChange {\n finishedAt\n id\n note\n product {\n assemblyManual\n id\n name\n number\n }\n reason {\n acceptanceMonit\n canBeRecommended\n hasNote\n id\n isNoteRequired\n leaf\n name\n parentId\n position\n reasonGroupId\n statusColor\n temporary\n }\n reasonHasBeenRecommended\n startedAt\n workplaceId\n }\n deactivated\n departmentId\n dtrUrl\n id\n minOperators\n name\n reasonGroupId\n reasonsRecommendationsEnabled\n }\n }\n product {\n assemblyManual\n id\n name\n number\n }\n }\n note\n number\n plannedCount\n position\n startedAt\n }\n reasonHasBeenRecommended\n startedAt\n workplaceId\n }\n deactivated\n departmentId\n dtrUrl\n id\n minOperators\n name\n reasonGroupId\n reasonsRecommendationsEnabled\n }\n }\n errors {\n field\n messages\n }\n }\n }\n`;\nexport const UpdateDashboardDocument = gql`\n mutation updateDashboard($filters: String, $gridLayout: String!, $id: ID!, $name: String) {\n updateDashboard(filters: $filters, gridLayout: $gridLayout, id: $id, name: $name) {\n dashboard {\n filters\n gridLayout\n id\n name\n }\n errors {\n field\n messages\n }\n }\n }\n`;\nexport const UpdateNotificationDocument = gql`\n mutation updateNotification($id: ID!, $status: String!) {\n updateNotification(id: $id, status: $status) {\n errors {\n field\n messages\n }\n notification {\n channel\n details\n emitterId\n emitterType\n id\n message\n receiverId\n receiverType\n status\n }\n }\n }\n`;\nexport const UpdateOrderDocument = gql`\n mutation updateOrder($input: UpdateOrderInput!) {\n updateOrder(input: $input) {\n errors {\n field\n messages\n }\n order {\n executedCount\n finishedAt\n id\n items {\n count\n id\n order {\n executedCount\n finishedAt\n id\n note\n number\n plannedCount\n position\n startedAt\n workplaces {\n colorHex\n currentStatusChange {\n author {\n id\n login\n name\n }\n finishedAt\n id\n note\n order {\n executedCount\n finishedAt\n id\n note\n number\n plannedCount\n position\n startedAt\n }\n product {\n assemblyManual\n id\n name\n number\n }\n reason {\n acceptanceMonit\n canBeRecommended\n hasNote\n id\n isNoteRequired\n leaf\n name\n parentId\n position\n reasonGroupId\n statusColor\n temporary\n }\n reasonHasBeenRecommended\n startedAt\n workplaceId\n }\n deactivated\n departmentId\n dtrUrl\n id\n minOperators\n name\n reasonGroupId\n reasonsRecommendationsEnabled\n }\n }\n product {\n assemblyManual\n id\n name\n number\n }\n }\n note\n number\n plannedCount\n position\n startedAt\n }\n }\n }\n`;\nexport const UpdateOrderExecutionDocument = gql`\n mutation updateOrderExecution($id: ID!, $standardRateId: ID!) {\n updateOrderExecution(id: $id, standardRateId: $standardRateId) {\n errors {\n field\n messages\n }\n orderExecution {\n finishedAt\n id\n item {\n count\n id\n order {\n executedCount\n finishedAt\n id\n items {\n count\n id\n order {\n executedCount\n finishedAt\n id\n note\n number\n plannedCount\n position\n startedAt\n workplaces {\n colorHex\n currentStatusChange {\n author {\n id\n login\n name\n }\n finishedAt\n id\n note\n order {\n executedCount\n finishedAt\n id\n note\n number\n plannedCount\n position\n startedAt\n }\n product {\n assemblyManual\n id\n name\n number\n }\n reason {\n acceptanceMonit\n canBeRecommended\n hasNote\n id\n isNoteRequired\n leaf\n name\n parentId\n position\n reasonGroupId\n statusColor\n temporary\n }\n reasonHasBeenRecommended\n startedAt\n workplaceId\n }\n deactivated\n departmentId\n dtrUrl\n id\n minOperators\n name\n reasonGroupId\n reasonsRecommendationsEnabled\n }\n }\n product {\n assemblyManual\n id\n name\n number\n }\n }\n note\n number\n plannedCount\n position\n startedAt\n }\n product {\n assemblyManual\n id\n name\n number\n }\n }\n itemCount\n note\n order {\n executedCount\n finishedAt\n id\n note\n number\n plannedCount\n position\n startedAt\n }\n product {\n assemblyManual\n id\n name\n number\n }\n standardRateMismatched\n startedAt\n workplaceId\n }\n }\n }\n`;\nexport const UpdateStaffingPlanDocument = gql`\n mutation updateStaffingPlan($input: StaffingPlanUpdateInput!) {\n updateStaffingPlan(input: $input) {\n errors {\n field\n messages\n }\n staffingPlan {\n id\n workplace {\n colorHex\n currentStatusChange {\n author {\n id\n login\n name\n }\n finishedAt\n id\n note\n order {\n executedCount\n finishedAt\n id\n items {\n count\n id\n order {\n executedCount\n finishedAt\n id\n note\n number\n plannedCount\n position\n startedAt\n workplaces {\n colorHex\n currentStatusChange {\n finishedAt\n id\n note\n product {\n assemblyManual\n id\n name\n number\n }\n reason {\n acceptanceMonit\n canBeRecommended\n hasNote\n id\n isNoteRequired\n leaf\n name\n parentId\n position\n reasonGroupId\n statusColor\n temporary\n }\n reasonHasBeenRecommended\n startedAt\n workplaceId\n }\n deactivated\n departmentId\n dtrUrl\n id\n minOperators\n name\n reasonGroupId\n reasonsRecommendationsEnabled\n }\n }\n product {\n assemblyManual\n id\n name\n number\n }\n }\n note\n number\n plannedCount\n position\n startedAt\n }\n reasonHasBeenRecommended\n startedAt\n workplaceId\n }\n deactivated\n departmentId\n dtrUrl\n id\n minOperators\n name\n reasonGroupId\n reasonsRecommendationsEnabled\n }\n date\n shift {\n finishedAt\n id\n name\n startedAt\n }\n recommendedOperators\n createdAt\n updatedAt\n author {\n id\n login\n name\n }\n }\n }\n }\n`;\nexport const UpdateStatusChangeDocument = gql`\n mutation updateStatusChange($input: UpdateStatusChangeInput!) {\n updateStatusChange(input: $input) {\n errors {\n field\n messages\n }\n statusChange {\n author {\n id\n login\n name\n }\n finishedAt\n id\n note\n order {\n executedCount\n finishedAt\n id\n items {\n count\n id\n order {\n executedCount\n finishedAt\n id\n note\n number\n plannedCount\n position\n startedAt\n workplaces {\n colorHex\n currentStatusChange {\n author {\n id\n login\n name\n }\n finishedAt\n id\n note\n order {\n executedCount\n finishedAt\n id\n note\n number\n plannedCount\n position\n startedAt\n }\n product {\n assemblyManual\n id\n name\n number\n }\n reason {\n acceptanceMonit\n canBeRecommended\n hasNote\n id\n isNoteRequired\n leaf\n name\n parentId\n position\n reasonGroupId\n statusColor\n temporary\n }\n reasonHasBeenRecommended\n startedAt\n workplaceId\n }\n deactivated\n departmentId\n dtrUrl\n id\n minOperators\n name\n reasonGroupId\n reasonsRecommendationsEnabled\n }\n }\n product {\n assemblyManual\n id\n name\n number\n }\n }\n note\n number\n plannedCount\n position\n startedAt\n }\n product {\n assemblyManual\n id\n name\n number\n }\n reason {\n acceptanceMonit\n canBeRecommended\n hasNote\n id\n isNoteRequired\n leaf\n name\n parentId\n position\n reasonGroupId\n statusColor\n temporary\n }\n reasonHasBeenRecommended\n startedAt\n workplaceId\n }\n }\n }\n`;\nexport const UpdateWidgetDocument = gql`\n mutation updateWidget($config: String!, $id: ID!) {\n updateWidget(config: $config, id: $id) {\n errors {\n field\n messages\n }\n widget {\n config\n id\n }\n }\n }\n`;\nexport const UpdateWorkOrderDocument = gql`\n mutation updateWorkOrder($id: ID!, $input: UpdateWorkOrderInput!) {\n updateWorkOrder(id: $id, input: $input) {\n errors {\n field\n messages\n }\n workOrder {\n assignees {\n id\n login\n name\n }\n category {\n description\n id\n name\n }\n closedAt\n createdAt\n creationMethod\n description\n dtrUrl\n dueAt\n id\n name\n note\n originalOccurrenceAt\n priority\n procedureDescription\n procedureName\n procedureResponse\n procedureTemplate\n startAt\n status\n timeSpentHours\n timeSpentMinutes\n updatedAt\n workplaces {\n colorHex\n currentStatusChange {\n author {\n id\n login\n name\n }\n finishedAt\n id\n note\n order {\n executedCount\n finishedAt\n id\n items {\n count\n id\n order {\n executedCount\n finishedAt\n id\n note\n number\n plannedCount\n position\n startedAt\n workplaces {\n colorHex\n deactivated\n departmentId\n dtrUrl\n id\n minOperators\n name\n reasonGroupId\n reasonsRecommendationsEnabled\n }\n }\n product {\n assemblyManual\n id\n name\n number\n }\n }\n note\n number\n plannedCount\n position\n startedAt\n }\n product {\n assemblyManual\n id\n name\n number\n }\n reason {\n acceptanceMonit\n canBeRecommended\n hasNote\n id\n isNoteRequired\n leaf\n name\n parentId\n position\n reasonGroupId\n statusColor\n temporary\n }\n reasonHasBeenRecommended\n startedAt\n workplaceId\n }\n deactivated\n departmentId\n dtrUrl\n id\n minOperators\n name\n reasonGroupId\n reasonsRecommendationsEnabled\n }\n }\n }\n }\n`;\nexport const ActualStaffingCountsDocument = gql`\n query actualStaffingCounts($filter: ActualStaffingCountFilter) {\n actualStaffingCounts(filter: $filter) {\n workplace {\n colorHex\n currentStatusChange {\n author {\n id\n login\n name\n }\n finishedAt\n id\n note\n order {\n executedCount\n finishedAt\n id\n items {\n count\n id\n order {\n executedCount\n finishedAt\n id\n note\n number\n plannedCount\n position\n startedAt\n workplaces {\n colorHex\n currentStatusChange {\n finishedAt\n id\n note\n product {\n assemblyManual\n id\n name\n number\n }\n reason {\n acceptanceMonit\n canBeRecommended\n hasNote\n id\n isNoteRequired\n leaf\n name\n parentId\n position\n reasonGroupId\n statusColor\n temporary\n }\n reasonHasBeenRecommended\n startedAt\n workplaceId\n }\n deactivated\n departmentId\n dtrUrl\n id\n minOperators\n name\n reasonGroupId\n reasonsRecommendationsEnabled\n }\n }\n product {\n assemblyManual\n id\n name\n number\n }\n }\n note\n number\n plannedCount\n position\n startedAt\n }\n reasonHasBeenRecommended\n startedAt\n workplaceId\n }\n deactivated\n departmentId\n dtrUrl\n id\n minOperators\n name\n reasonGroupId\n reasonsRecommendationsEnabled\n }\n date\n shift {\n finishedAt\n id\n name\n startedAt\n }\n actualOperators\n plannedOperators\n hasDeviation\n }\n }\n`;\nexport const ApplicationInfoDocument = gql`\n query applicationInfo {\n applicationInfo {\n apiVersion\n }\n }\n`;\nexport const AvailabilityInsightsDocument = gql`\n query availabilityInsights($input: AvailabilityInsightsInput!) {\n availabilityInsights(input: $input) {\n entries {\n availability\n label\n noData\n }\n }\n }\n`;\nexport const CompanyConfigDocument = gql`\n query companyConfig {\n companyConfig {\n devicesConfigs {\n defaultWorkplaceId\n deviceId\n name\n }\n displayedKpiItems\n reasonsRecommendationsEnabled\n roleConfig {\n historyVisibilityEnabled\n orderCreationAllowed\n }\n statusChangeTransitionPermissionsUpdatedAt\n workplacesConfigs {\n defaultScreen\n menuDisplayItems\n orderConfig {\n alternativeName\n numberPrefix\n numberRegexp\n }\n orderExecutionConfig {\n afterPauseReasonId\n afterStartReasonId\n afterStopReasonId\n featureEnabled\n formOrderFields\n formProductFields\n formQuantityFields\n itemCountUnit\n noPlanCanCreateOrderNote\n noPlanNeedVerificationNote\n orderInternalNoteText\n orderInternalNoteTitle\n productInternalNoteText\n productInternalNoteTitle\n quantityInternalNoteText\n quantityInternalNoteTitle\n stopEnabled\n }\n productConfig {\n alternativeName\n numberPrefix\n numberRegexp\n }\n productionMode\n screenSaverConfig {\n autoSignOut\n displayAfterIdle\n displayAfterOrderCreated\n displayAfterStatusChangeCreated\n enabled\n idleTime\n }\n statusScreenDisplayBlocks\n workplaceId\n }\n }\n }\n`;\nexport const CounterDirectoriesDocument = gql`\n query counterDirectories($filter: CounterDirectoryFilter) {\n counterDirectories(filter: $filter) {\n directoryId\n id\n name\n position\n workplaceId\n }\n }\n`;\nexport const CountersDocument = gql`\n query counters($filter: CounterFilter) {\n counters(filter: $filter) {\n directoryId\n hasNote\n id\n isDisabled\n kind\n name\n position\n value\n workplaceId\n }\n }\n`;\nexport const CurrentUserDocument = gql`\n query currentUser {\n currentUser {\n id\n login\n name\n }\n }\n`;\nexport const DashboardsDocument = gql`\n query dashboards($filter: DashboardFilter) {\n dashboards(filter: $filter) {\n filters\n gridLayout\n id\n name\n }\n }\n`;\nexport const DepartmentsDocument = gql`\n query departments($filter: DepartmentFilter) {\n departments(filter: $filter) {\n id\n name\n }\n }\n`;\nexport const FloorPlansDocument = gql`\n query floorPlans($filter: FloorPlanFilter) {\n floorPlans(filter: $filter) {\n id\n imageUrl\n name\n }\n }\n`;\nexport const MetricValuesDocument = gql`\n query metricValues($metricIds: [ID!], $workplaceIds: [ID!]) {\n metricValues(metricIds: $metricIds, workplaceIds: $workplaceIds) {\n active\n id\n metricId\n statusColor\n textValue\n timer\n type\n unit\n workplaceId\n }\n }\n`;\nexport const MetricsDocument = gql`\n query metrics {\n metrics {\n id\n name\n }\n }\n`;\nexport const NotificationsDocument = gql`\n query notifications($filter: NotificationFilter) {\n notifications(filter: $filter) {\n channel\n details\n emitterId\n emitterType\n id\n message\n receiverId\n receiverType\n status\n }\n }\n`;\nexport const OrdersDocument = gql`\n query orders($filter: OrderFilter) {\n orders(filter: $filter) {\n executedCount\n finishedAt\n id\n items {\n count\n id\n order {\n executedCount\n finishedAt\n id\n items {\n count\n id\n product {\n assemblyManual\n id\n name\n number\n }\n }\n note\n number\n plannedCount\n position\n startedAt\n workplaces {\n colorHex\n currentStatusChange {\n author {\n id\n login\n name\n }\n finishedAt\n id\n note\n order {\n executedCount\n finishedAt\n id\n note\n number\n plannedCount\n position\n startedAt\n }\n product {\n assemblyManual\n id\n name\n number\n }\n reason {\n acceptanceMonit\n canBeRecommended\n hasNote\n id\n isNoteRequired\n leaf\n name\n parentId\n position\n reasonGroupId\n statusColor\n temporary\n }\n reasonHasBeenRecommended\n startedAt\n workplaceId\n }\n deactivated\n departmentId\n dtrUrl\n id\n minOperators\n name\n reasonGroupId\n reasonsRecommendationsEnabled\n }\n }\n }\n note\n number\n plannedCount\n position\n startedAt\n workplaces {\n colorHex\n deactivated\n departmentId\n dtrUrl\n id\n minOperators\n name\n reasonGroupId\n reasonsRecommendationsEnabled\n }\n }\n }\n`;\nexport const OrdersExecutionsDocument = gql`\n query ordersExecutions($filter: OrderExecutionFilter) {\n ordersExecutions(filter: $filter) {\n finishedAt\n id\n item {\n count\n id\n order {\n executedCount\n finishedAt\n id\n items {\n count\n id\n order {\n executedCount\n finishedAt\n id\n note\n number\n plannedCount\n position\n startedAt\n workplaces {\n colorHex\n currentStatusChange {\n author {\n id\n login\n name\n }\n finishedAt\n id\n note\n order {\n executedCount\n finishedAt\n id\n note\n number\n plannedCount\n position\n startedAt\n }\n product {\n assemblyManual\n id\n name\n number\n }\n reason {\n acceptanceMonit\n canBeRecommended\n hasNote\n id\n isNoteRequired\n leaf\n name\n parentId\n position\n reasonGroupId\n statusColor\n temporary\n }\n reasonHasBeenRecommended\n startedAt\n workplaceId\n }\n deactivated\n departmentId\n dtrUrl\n id\n minOperators\n name\n reasonGroupId\n reasonsRecommendationsEnabled\n }\n }\n product {\n assemblyManual\n id\n name\n number\n }\n }\n note\n number\n plannedCount\n position\n startedAt\n }\n product {\n assemblyManual\n id\n name\n number\n }\n }\n itemCount\n note\n order {\n executedCount\n finishedAt\n id\n note\n number\n plannedCount\n position\n startedAt\n }\n product {\n assemblyManual\n id\n name\n number\n }\n standardRateMismatched\n startedAt\n workplaceId\n }\n }\n`;\nexport const ProductionInsightsDocument = gql`\n query productionInsights($input: ProductionInsightsInput!) {\n productionInsights(input: $input) {\n entries {\n count\n label\n }\n }\n }\n`;\nexport const ProductsDocument = gql`\n query products($filter: ProductFilter) {\n products(filter: $filter) {\n assemblyManual\n id\n name\n number\n }\n }\n`;\nexport const ReasonsDocument = gql`\n query reasons($filter: ReasonFilter) {\n reasons(filter: $filter) {\n acceptanceMonit\n canBeRecommended\n hasNote\n id\n isNoteRequired\n leaf\n name\n parentId\n position\n reasonGroupId\n statusColor\n temporary\n }\n }\n`;\nexport const ReasonsRecommendationDocument = gql`\n query reasonsRecommendation($workplaceId: String!) {\n reasonsRecommendation(workplaceId: $workplaceId) {\n reasons {\n acceptanceMonit\n canBeRecommended\n hasNote\n id\n isNoteRequired\n leaf\n name\n parentId\n position\n reasonGroupId\n statusColor\n temporary\n }\n trainingStatus\n }\n }\n`;\nexport const ShiftsDocument = gql`\n query shifts {\n shifts {\n finishedAt\n id\n name\n startedAt\n }\n }\n`;\nexport const StaffingPlansDocument = gql`\n query staffingPlans($filter: StaffingPlanFilter) {\n staffingPlans(filter: $filter) {\n id\n workplace {\n colorHex\n currentStatusChange {\n author {\n id\n login\n name\n }\n finishedAt\n id\n note\n order {\n executedCount\n finishedAt\n id\n items {\n count\n id\n order {\n executedCount\n finishedAt\n id\n note\n number\n plannedCount\n position\n startedAt\n workplaces {\n colorHex\n currentStatusChange {\n finishedAt\n id\n note\n product {\n assemblyManual\n id\n name\n number\n }\n reason {\n acceptanceMonit\n canBeRecommended\n hasNote\n id\n isNoteRequired\n leaf\n name\n parentId\n position\n reasonGroupId\n statusColor\n temporary\n }\n reasonHasBeenRecommended\n startedAt\n workplaceId\n }\n deactivated\n departmentId\n dtrUrl\n id\n minOperators\n name\n reasonGroupId\n reasonsRecommendationsEnabled\n }\n }\n product {\n assemblyManual\n id\n name\n number\n }\n }\n note\n number\n plannedCount\n position\n startedAt\n }\n reasonHasBeenRecommended\n startedAt\n workplaceId\n }\n deactivated\n departmentId\n dtrUrl\n id\n minOperators\n name\n reasonGroupId\n reasonsRecommendationsEnabled\n }\n date\n shift {\n finishedAt\n id\n name\n startedAt\n }\n recommendedOperators\n createdAt\n updatedAt\n author {\n id\n login\n name\n }\n }\n }\n`;\nexport const StandardRatesDocument = gql`\n query standardRates($orderExecutionId: ID!) {\n standardRates(orderExecutionId: $orderExecutionId) {\n id\n label\n }\n }\n`;\nexport const StatusChangeTransitionPermissionsDocument = gql`\n query statusChangeTransitionPermissions($filter: StatusChangeTransitionPermissionFilter) {\n statusChangeTransitionPermissions(filter: $filter) {\n fromReasonId\n roleId\n toReasonId\n workplaceId\n }\n }\n`;\nexport const StatusChangesDocument = gql`\n query statusChanges($filter: StatusChangeFilter) {\n statusChanges(filter: $filter) {\n author {\n id\n login\n name\n }\n finishedAt\n id\n note\n order {\n executedCount\n finishedAt\n id\n items {\n count\n id\n order {\n executedCount\n finishedAt\n id\n note\n number\n plannedCount\n position\n startedAt\n workplaces {\n colorHex\n currentStatusChange {\n author {\n id\n login\n name\n }\n finishedAt\n id\n note\n order {\n executedCount\n finishedAt\n id\n note\n number\n plannedCount\n position\n startedAt\n }\n product {\n assemblyManual\n id\n name\n number\n }\n reason {\n acceptanceMonit\n canBeRecommended\n hasNote\n id\n isNoteRequired\n leaf\n name\n parentId\n position\n reasonGroupId\n statusColor\n temporary\n }\n reasonHasBeenRecommended\n startedAt\n workplaceId\n }\n deactivated\n departmentId\n dtrUrl\n id\n minOperators\n name\n reasonGroupId\n reasonsRecommendationsEnabled\n }\n }\n product {\n assemblyManual\n id\n name\n number\n }\n }\n note\n number\n plannedCount\n position\n startedAt\n }\n product {\n assemblyManual\n id\n name\n number\n }\n reason {\n acceptanceMonit\n canBeRecommended\n hasNote\n id\n isNoteRequired\n leaf\n name\n parentId\n position\n reasonGroupId\n statusColor\n temporary\n }\n reasonHasBeenRecommended\n startedAt\n workplaceId\n }\n }\n`;\nexport const StatusInsightsDocument = gql`\n query statusInsights($input: StatusInsightsInput!) {\n statusInsights(input: $input) {\n entries {\n averageDurationMinutes\n label\n occurrenceCount\n }\n }\n }\n`;\nexport const UsersDocument = gql`\n query users($filter: UserFilter) {\n users(filter: $filter) {\n id\n login\n name\n }\n }\n`;\nexport const UsersPresencesDocument = gql`\n query usersPresences($filter: UserPresenceFilter) {\n usersPresences(filter: $filter) {\n author {\n id\n login\n name\n }\n finishedAt\n id\n startedAt\n user {\n id\n login\n name\n }\n workplaceId\n }\n }\n`;\nexport const WidgetDocument = gql`\n query widget($id: ID!) {\n widget(id: $id) {\n config\n id\n }\n }\n`;\nexport const WidgetsDocument = gql`\n query widgets($filter: WidgetFilter) {\n widgets(filter: $filter) {\n config\n id\n }\n }\n`;\nexport const WorkOrdersDocument = gql`\n query workOrders($filter: WorkOrderFilter) {\n workOrders(filter: $filter) {\n assignees {\n id\n login\n name\n }\n category {\n description\n id\n name\n }\n closedAt\n createdAt\n creationMethod\n description\n dtrUrl\n dueAt\n id\n name\n note\n originalOccurrenceAt\n priority\n procedureDescription\n procedureName\n procedureResponse\n procedureTemplate\n startAt\n status\n timeSpentHours\n timeSpentMinutes\n updatedAt\n workplaces {\n colorHex\n currentStatusChange {\n author {\n id\n login\n name\n }\n finishedAt\n id\n note\n order {\n executedCount\n finishedAt\n id\n items {\n count\n id\n order {\n executedCount\n finishedAt\n id\n note\n number\n plannedCount\n position\n startedAt\n workplaces {\n colorHex\n deactivated\n departmentId\n dtrUrl\n id\n minOperators\n name\n reasonGroupId\n reasonsRecommendationsEnabled\n }\n }\n product {\n assemblyManual\n id\n name\n number\n }\n }\n note\n number\n plannedCount\n position\n startedAt\n }\n product {\n assemblyManual\n id\n name\n number\n }\n reason {\n acceptanceMonit\n canBeRecommended\n hasNote\n id\n isNoteRequired\n leaf\n name\n parentId\n position\n reasonGroupId\n statusColor\n temporary\n }\n reasonHasBeenRecommended\n startedAt\n workplaceId\n }\n deactivated\n departmentId\n dtrUrl\n id\n minOperators\n name\n reasonGroupId\n reasonsRecommendationsEnabled\n }\n }\n }\n`;\nexport const WorkOrdersInsightsDocument = gql`\n query workOrdersInsights($input: WorkOrdersInsightsInput!) {\n workOrdersInsights(input: $input) {\n categories {\n categoryId\n categoryName\n durations {\n count\n lowerBoundMinutes\n upperBoundMinutes\n }\n totalCount\n }\n }\n }\n`;\nexport const WorkplaceAssignmentsDocument = gql`\n query workplaceAssignments($input: WorkplaceAssignmentsInput!) {\n workplaceAssignments(input: $input) {\n summary {\n totalAssigned\n totalCheckedIn\n totalMissing\n }\n unassignedOperators {\n id\n login\n name\n }\n workplaces {\n assignedCount\n assignedOperators {\n presenceStatus\n user {\n id\n login\n name\n }\n }\n isOvercapacity\n missingCount\n recommendedOperators\n unplannedOperators {\n plannedWorkplace {\n colorHex\n currentStatusChange {\n author {\n id\n login\n name\n }\n finishedAt\n id\n note\n order {\n executedCount\n finishedAt\n id\n items {\n count\n id\n order {\n executedCount\n finishedAt\n id\n note\n number\n plannedCount\n position\n startedAt\n workplaces {\n colorHex\n currentStatusChange {\n finishedAt\n id\n note\n product {\n assemblyManual\n id\n name\n number\n }\n reason {\n acceptanceMonit\n canBeRecommended\n hasNote\n id\n isNoteRequired\n leaf\n name\n parentId\n position\n reasonGroupId\n statusColor\n temporary\n }\n reasonHasBeenRecommended\n startedAt\n workplaceId\n }\n deactivated\n departmentId\n dtrUrl\n id\n minOperators\n name\n reasonGroupId\n reasonsRecommendationsEnabled\n }\n }\n product {\n assemblyManual\n id\n name\n number\n }\n }\n note\n number\n plannedCount\n position\n startedAt\n }\n reasonHasBeenRecommended\n startedAt\n workplaceId\n }\n deactivated\n departmentId\n dtrUrl\n id\n minOperators\n name\n reasonGroupId\n reasonsRecommendationsEnabled\n }\n user {\n id\n login\n name\n }\n }\n workplace {\n colorHex\n currentStatusChange {\n finishedAt\n id\n note\n reasonHasBeenRecommended\n startedAt\n workplaceId\n }\n deactivated\n departmentId\n dtrUrl\n id\n minOperators\n name\n reasonGroupId\n reasonsRecommendationsEnabled\n }\n }\n }\n }\n`;\nexport const WorkplacePerformanceInsightsDocument = gql`\n query workplacePerformanceInsights($input: WorkplacePerformanceInsightsInput!) {\n workplacePerformanceInsights(input: $input) {\n endDate\n mtbf\n mtbfSeconds\n mttr\n mttrSeconds\n reasons {\n availabilityStatus\n averageDuration\n averageDurationSeconds\n maxDuration\n maxDurationSeconds\n occurrences\n percentage\n reasonColor\n reasonId\n reasonName\n statusChanges {\n firstSegmentStart\n id\n lastSegmentEnd\n note\n originalEnd\n originalStart\n segments\n totalSegmentDuration\n totalSegmentSeconds\n uuid\n }\n totalDuration\n totalSeconds\n }\n startDate\n offScheduleDuration\n offScheduleSeconds\n totalDowntime\n totalDowntimePercentage\n totalDowntimeSeconds\n totalDuration\n totalSeconds\n totalUptime\n totalUptimePercentage\n totalUptimeSeconds\n workplaceId\n workplaceName\n }\n }\n`;\nexport const WorkplacesDocument = gql`\n query workplaces($filter: WorkplaceFilter) {\n workplaces(filter: $filter) {\n colorHex\n currentStatusChange {\n author {\n id\n login\n name\n }\n finishedAt\n id\n note\n order {\n executedCount\n finishedAt\n id\n items {\n count\n id\n order {\n executedCount\n finishedAt\n id\n note\n number\n plannedCount\n position\n startedAt\n workplaces {\n colorHex\n deactivated\n departmentId\n dtrUrl\n id\n minOperators\n name\n reasonGroupId\n reasonsRecommendationsEnabled\n }\n }\n product {\n assemblyManual\n id\n name\n number\n }\n }\n note\n number\n plannedCount\n position\n startedAt\n }\n product {\n assemblyManual\n id\n name\n number\n }\n reason {\n acceptanceMonit\n canBeRecommended\n hasNote\n id\n isNoteRequired\n leaf\n name\n parentId\n position\n reasonGroupId\n statusColor\n temporary\n }\n reasonHasBeenRecommended\n startedAt\n workplaceId\n }\n deactivated\n departmentId\n dtrUrl\n id\n minOperators\n name\n reasonGroupId\n reasonsRecommendationsEnabled\n }\n }\n`;\nexport const AssignOperatorDocument = gql`\n mutation assignOperator($input: AssignOperatorInput!) {\n assignOperatorToWorkplace(input: $input) {\n errors {\n field\n messages\n }\n assignment {\n id\n user {\n id\n name\n }\n workplace {\n id\n name\n }\n shift {\n id\n name\n }\n validFrom\n }\n }\n }\n`;\nexport const UnassignOperatorDocument = gql`\n mutation unassignOperator($input: UnassignOperatorInput!) {\n unassignOperatorFromWorkplace(input: $input) {\n errors {\n field\n messages\n }\n assignment {\n id\n user {\n id\n name\n }\n validFrom\n }\n }\n }\n`;\nexport const GetWorkplacePerformanceInsightsDocument = gql`\n query getWorkplacePerformanceInsights($input: WorkplacePerformanceInsightsInput!) {\n workplacePerformanceInsights(input: $input) {\n workplaceId\n workplaceName\n startDate\n endDate\n totalDuration\n totalSeconds\n totalUptime\n totalUptimePercentage\n totalDowntime\n totalDowntimePercentage\n mtbf\n mttr\n reasons {\n reasonId\n reasonName\n reasonColor\n availabilityStatus\n totalDuration\n totalSeconds\n percentage\n occurrences\n averageDuration\n maxDuration\n }\n }\n }\n`;\nexport const ListActualStaffingCountsDocument = gql`\n query listActualStaffingCounts($filter: ActualStaffingCountFilter) {\n actualStaffingCounts(filter: $filter) {\n workplace {\n id\n name\n }\n date\n shift {\n id\n name\n }\n actualOperators\n plannedOperators\n hasDeviation\n }\n }\n`;\nexport const ListStaffingPlansDocument = gql`\n query listStaffingPlans($filter: StaffingPlanFilter) {\n staffingPlans(filter: $filter) {\n id\n workplace {\n id\n name\n colorHex\n }\n date\n shift {\n id\n name\n }\n recommendedOperators\n }\n }\n`;\nexport const ListStatusChangesDocument = gql`\n query listStatusChanges($filter: StatusChangeFilter) {\n statusChanges(filter: $filter) {\n author {\n id\n login\n name\n }\n finishedAt\n id\n note\n order {\n executedCount\n id\n note\n number\n plannedCount\n position\n startedAt\n finishedAt\n }\n product {\n assemblyManual\n id\n name\n number\n }\n reason {\n acceptanceMonit\n canBeRecommended\n hasNote\n id\n isNoteRequired\n leaf\n name\n parentId\n position\n reasonGroupId\n statusColor\n temporary\n }\n reasonHasBeenRecommended\n startedAt\n workplaceId\n }\n }\n`;\nexport const ListWorkOrdersDocument = gql`\n query listWorkOrders($filter: WorkOrderFilter) {\n workOrders(filter: $filter) {\n assignees {\n id\n login\n name\n }\n category {\n description\n id\n name\n }\n closedAt\n createdAt\n creationMethod\n description\n dtrUrl\n dueAt\n id\n name\n note\n originalOccurrenceAt\n priority\n procedureDescription\n procedureName\n procedureResponse\n procedureTemplate\n startAt\n status\n timeSpentHours\n timeSpentMinutes\n updatedAt\n workplaces {\n id\n name\n }\n }\n }\n`;\nexport const ListWorkplaceAssignmentsDocument = gql`\n query listWorkplaceAssignments($input: WorkplaceAssignmentsInput!) {\n workplaceAssignments(input: $input) {\n workplaces {\n workplace {\n id\n name\n }\n assignedOperators {\n user {\n id\n name\n }\n presenceStatus\n }\n unplannedOperators {\n user {\n id\n name\n }\n plannedWorkplace {\n id\n name\n }\n }\n recommendedOperators\n assignedCount\n missingCount\n isOvercapacity\n }\n unassignedOperators {\n id\n name\n }\n summary {\n totalAssigned\n totalCheckedIn\n totalMissing\n }\n }\n }\n`;\nexport const ListWorkplacesDocument = gql`\n query listWorkplaces($filter: WorkplaceFilter) {\n workplaces(filter: $filter) {\n deactivated\n departmentId\n id\n minOperators\n name\n reasonGroupId\n reasonsRecommendationsEnabled\n }\n }\n`;\nexport const WorkplaceEventDocument = gql`\n subscription workplaceEvent($id: ID!) {\n workplaceEvent(id: $id) {\n event\n subject {\n __typename\n ... on Counter {\n directoryId\n hasNote\n id\n isDisabled\n kind\n name\n counterPosition: position\n value\n workplaceId\n }\n ... on Item {\n count\n id\n }\n ... on MetricValue {\n active\n id\n metricId\n statusColor\n textValue\n timer\n type\n unit\n workplaceId\n }\n ... on Notification {\n channel\n details\n emitterId\n emitterType\n id\n message\n receiverId\n receiverType\n status\n }\n ... on Shift {\n shiftFinishedAt: finishedAt\n id\n name\n shiftStartedAt: startedAt\n }\n ... on Order {\n executedCount\n id\n items {\n count\n id\n }\n note\n number\n plannedCount\n position\n orderStartedAt: startedAt\n orderFinishedAt: finishedAt\n workplaces {\n deactivated\n departmentId\n id\n minOperators\n name\n reasonGroupId\n reasonsRecommendationsEnabled\n }\n }\n ... on OrderExecution {\n finishedAt\n id\n item {\n count\n id\n order {\n executedCount\n id\n note\n number\n plannedCount\n position\n startedAt\n finishedAt\n }\n product {\n assemblyManual\n id\n name\n number\n }\n }\n itemCount\n note\n standardRateMismatched\n startedAt\n workplaceId\n }\n ... on StatusChange {\n author {\n id\n login\n name\n }\n finishedAt\n id\n note\n order {\n executedCount\n id\n note\n number\n plannedCount\n position\n startedAt\n finishedAt\n }\n product {\n assemblyManual\n id\n name\n number\n }\n reason {\n acceptanceMonit\n canBeRecommended\n hasNote\n id\n isNoteRequired\n leaf\n name\n parentId\n position\n reasonGroupId\n statusColor\n temporary\n }\n reasonHasBeenRecommended\n startedAt\n workplaceId\n }\n ... on UserPresence {\n finishedAt\n id\n startedAt\n user {\n id\n login\n name\n }\n workplaceId\n }\n }\n }\n }\n`;\n\nexport type SdkFunctionWrapper = <T>(\n action: (requestHeaders?: Record<string, string>) => Promise<T>,\n operationName: string,\n operationType?: string,\n variables?: any,\n) => Promise<T>;\n\nconst defaultWrapper: SdkFunctionWrapper = (action, _operationName, _operationType, _variables) => action();\n\nexport function getSdk(client: GraphQLClient, withWrapper: SdkFunctionWrapper = defaultWrapper) {\n return {\n assignOperatorToWorkplace(\n variables: AssignOperatorToWorkplaceMutationVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<AssignOperatorToWorkplaceMutation> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<AssignOperatorToWorkplaceMutation>({\n document: AssignOperatorToWorkplaceDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'assignOperatorToWorkplace',\n 'mutation',\n variables,\n );\n },\n bulkUpsertStaffingPlans(\n variables: BulkUpsertStaffingPlansMutationVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<BulkUpsertStaffingPlansMutation> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<BulkUpsertStaffingPlansMutation>({\n document: BulkUpsertStaffingPlansDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'bulkUpsertStaffingPlans',\n 'mutation',\n variables,\n );\n },\n createDashboard(\n variables: CreateDashboardMutationVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<CreateDashboardMutation> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<CreateDashboardMutation>({\n document: CreateDashboardDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'createDashboard',\n 'mutation',\n variables,\n );\n },\n createOrder(\n variables: CreateOrderMutationVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<CreateOrderMutation> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<CreateOrderMutation>({\n document: CreateOrderDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'createOrder',\n 'mutation',\n variables,\n );\n },\n createProduct(\n variables: CreateProductMutationVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<CreateProductMutation> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<CreateProductMutation>({\n document: CreateProductDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'createProduct',\n 'mutation',\n variables,\n );\n },\n createStaffingPlan(\n variables: CreateStaffingPlanMutationVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<CreateStaffingPlanMutation> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<CreateStaffingPlanMutation>({\n document: CreateStaffingPlanDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'createStaffingPlan',\n 'mutation',\n variables,\n );\n },\n createStatusChange(\n variables: CreateStatusChangeMutationVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<CreateStatusChangeMutation> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<CreateStatusChangeMutation>({\n document: CreateStatusChangeDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'createStatusChange',\n 'mutation',\n variables,\n );\n },\n createUserPresence(\n variables: CreateUserPresenceMutationVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<CreateUserPresenceMutation> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<CreateUserPresenceMutation>({\n document: CreateUserPresenceDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'createUserPresence',\n 'mutation',\n variables,\n );\n },\n createWidget(\n variables: CreateWidgetMutationVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<CreateWidgetMutation> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<CreateWidgetMutation>({\n document: CreateWidgetDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'createWidget',\n 'mutation',\n variables,\n );\n },\n pauseOrderExecution(\n variables: PauseOrderExecutionMutationVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<PauseOrderExecutionMutation> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<PauseOrderExecutionMutation>({\n document: PauseOrderExecutionDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'pauseOrderExecution',\n 'mutation',\n variables,\n );\n },\n removeDashboard(\n variables: RemoveDashboardMutationVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<RemoveDashboardMutation> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<RemoveDashboardMutation>({\n document: RemoveDashboardDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'removeDashboard',\n 'mutation',\n variables,\n );\n },\n removeStaffingPlan(\n variables: RemoveStaffingPlanMutationVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<RemoveStaffingPlanMutation> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<RemoveStaffingPlanMutation>({\n document: RemoveStaffingPlanDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'removeStaffingPlan',\n 'mutation',\n variables,\n );\n },\n removeUserPresence(\n variables: RemoveUserPresenceMutationVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<RemoveUserPresenceMutation> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<RemoveUserPresenceMutation>({\n document: RemoveUserPresenceDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'removeUserPresence',\n 'mutation',\n variables,\n );\n },\n removeWidget(\n variables: RemoveWidgetMutationVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<RemoveWidgetMutation> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<RemoveWidgetMutation>({\n document: RemoveWidgetDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'removeWidget',\n 'mutation',\n variables,\n );\n },\n removeWorkplaceUsersPresences(\n variables: RemoveWorkplaceUsersPresencesMutationVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<RemoveWorkplaceUsersPresencesMutation> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<RemoveWorkplaceUsersPresencesMutation>({\n document: RemoveWorkplaceUsersPresencesDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'removeWorkplaceUsersPresences',\n 'mutation',\n variables,\n );\n },\n requestFeatureAccess(\n variables: RequestFeatureAccessMutationVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<RequestFeatureAccessMutation> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<RequestFeatureAccessMutation>({\n document: RequestFeatureAccessDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'requestFeatureAccess',\n 'mutation',\n variables,\n );\n },\n setCounter(\n variables: SetCounterMutationVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<SetCounterMutation> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<SetCounterMutation>({\n document: SetCounterDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'setCounter',\n 'mutation',\n variables,\n );\n },\n startOrderExecution(\n variables: StartOrderExecutionMutationVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<StartOrderExecutionMutation> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<StartOrderExecutionMutation>({\n document: StartOrderExecutionDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'startOrderExecution',\n 'mutation',\n variables,\n );\n },\n startTrial(\n variables: StartTrialMutationVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<StartTrialMutation> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<StartTrialMutation>({\n document: StartTrialDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'startTrial',\n 'mutation',\n variables,\n );\n },\n stopOrderExecution(\n variables: StopOrderExecutionMutationVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<StopOrderExecutionMutation> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<StopOrderExecutionMutation>({\n document: StopOrderExecutionDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'stopOrderExecution',\n 'mutation',\n variables,\n );\n },\n unassignOperatorFromWorkplace(\n variables: UnassignOperatorFromWorkplaceMutationVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<UnassignOperatorFromWorkplaceMutation> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<UnassignOperatorFromWorkplaceMutation>({\n document: UnassignOperatorFromWorkplaceDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'unassignOperatorFromWorkplace',\n 'mutation',\n variables,\n );\n },\n updateDashboard(\n variables: UpdateDashboardMutationVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<UpdateDashboardMutation> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<UpdateDashboardMutation>({\n document: UpdateDashboardDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'updateDashboard',\n 'mutation',\n variables,\n );\n },\n updateNotification(\n variables: UpdateNotificationMutationVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<UpdateNotificationMutation> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<UpdateNotificationMutation>({\n document: UpdateNotificationDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'updateNotification',\n 'mutation',\n variables,\n );\n },\n updateOrder(\n variables: UpdateOrderMutationVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<UpdateOrderMutation> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<UpdateOrderMutation>({\n document: UpdateOrderDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'updateOrder',\n 'mutation',\n variables,\n );\n },\n updateOrderExecution(\n variables: UpdateOrderExecutionMutationVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<UpdateOrderExecutionMutation> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<UpdateOrderExecutionMutation>({\n document: UpdateOrderExecutionDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'updateOrderExecution',\n 'mutation',\n variables,\n );\n },\n updateStaffingPlan(\n variables: UpdateStaffingPlanMutationVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<UpdateStaffingPlanMutation> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<UpdateStaffingPlanMutation>({\n document: UpdateStaffingPlanDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'updateStaffingPlan',\n 'mutation',\n variables,\n );\n },\n updateStatusChange(\n variables: UpdateStatusChangeMutationVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<UpdateStatusChangeMutation> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<UpdateStatusChangeMutation>({\n document: UpdateStatusChangeDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'updateStatusChange',\n 'mutation',\n variables,\n );\n },\n updateWidget(\n variables: UpdateWidgetMutationVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<UpdateWidgetMutation> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<UpdateWidgetMutation>({\n document: UpdateWidgetDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'updateWidget',\n 'mutation',\n variables,\n );\n },\n updateWorkOrder(\n variables: UpdateWorkOrderMutationVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<UpdateWorkOrderMutation> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<UpdateWorkOrderMutation>({\n document: UpdateWorkOrderDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'updateWorkOrder',\n 'mutation',\n variables,\n );\n },\n actualStaffingCounts(\n variables?: ActualStaffingCountsQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<ActualStaffingCountsQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<ActualStaffingCountsQuery>({\n document: ActualStaffingCountsDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'actualStaffingCounts',\n 'query',\n variables,\n );\n },\n applicationInfo(\n variables?: ApplicationInfoQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<ApplicationInfoQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<ApplicationInfoQuery>({\n document: ApplicationInfoDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'applicationInfo',\n 'query',\n variables,\n );\n },\n availabilityInsights(\n variables: AvailabilityInsightsQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<AvailabilityInsightsQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<AvailabilityInsightsQuery>({\n document: AvailabilityInsightsDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'availabilityInsights',\n 'query',\n variables,\n );\n },\n companyConfig(\n variables?: CompanyConfigQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<CompanyConfigQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<CompanyConfigQuery>({\n document: CompanyConfigDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'companyConfig',\n 'query',\n variables,\n );\n },\n counterDirectories(\n variables?: CounterDirectoriesQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<CounterDirectoriesQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<CounterDirectoriesQuery>({\n document: CounterDirectoriesDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'counterDirectories',\n 'query',\n variables,\n );\n },\n counters(\n variables?: CountersQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<CountersQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<CountersQuery>({\n document: CountersDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'counters',\n 'query',\n variables,\n );\n },\n currentUser(\n variables?: CurrentUserQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<CurrentUserQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<CurrentUserQuery>({\n document: CurrentUserDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'currentUser',\n 'query',\n variables,\n );\n },\n dashboards(\n variables?: DashboardsQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<DashboardsQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<DashboardsQuery>({\n document: DashboardsDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'dashboards',\n 'query',\n variables,\n );\n },\n departments(\n variables?: DepartmentsQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<DepartmentsQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<DepartmentsQuery>({\n document: DepartmentsDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'departments',\n 'query',\n variables,\n );\n },\n floorPlans(\n variables?: FloorPlansQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<FloorPlansQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<FloorPlansQuery>({\n document: FloorPlansDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'floorPlans',\n 'query',\n variables,\n );\n },\n metricValues(\n variables?: MetricValuesQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<MetricValuesQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<MetricValuesQuery>({\n document: MetricValuesDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'metricValues',\n 'query',\n variables,\n );\n },\n metrics(\n variables?: MetricsQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<MetricsQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<MetricsQuery>({\n document: MetricsDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'metrics',\n 'query',\n variables,\n );\n },\n notifications(\n variables?: NotificationsQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<NotificationsQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<NotificationsQuery>({\n document: NotificationsDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'notifications',\n 'query',\n variables,\n );\n },\n orders(\n variables?: OrdersQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<OrdersQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<OrdersQuery>({\n document: OrdersDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'orders',\n 'query',\n variables,\n );\n },\n ordersExecutions(\n variables?: OrdersExecutionsQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<OrdersExecutionsQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<OrdersExecutionsQuery>({\n document: OrdersExecutionsDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'ordersExecutions',\n 'query',\n variables,\n );\n },\n productionInsights(\n variables: ProductionInsightsQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<ProductionInsightsQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<ProductionInsightsQuery>({\n document: ProductionInsightsDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'productionInsights',\n 'query',\n variables,\n );\n },\n products(\n variables?: ProductsQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<ProductsQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<ProductsQuery>({\n document: ProductsDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'products',\n 'query',\n variables,\n );\n },\n reasons(\n variables?: ReasonsQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<ReasonsQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<ReasonsQuery>({\n document: ReasonsDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'reasons',\n 'query',\n variables,\n );\n },\n reasonsRecommendation(\n variables: ReasonsRecommendationQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<ReasonsRecommendationQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<ReasonsRecommendationQuery>({\n document: ReasonsRecommendationDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'reasonsRecommendation',\n 'query',\n variables,\n );\n },\n shifts(\n variables?: ShiftsQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<ShiftsQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<ShiftsQuery>({\n document: ShiftsDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'shifts',\n 'query',\n variables,\n );\n },\n staffingPlans(\n variables?: StaffingPlansQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<StaffingPlansQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<StaffingPlansQuery>({\n document: StaffingPlansDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'staffingPlans',\n 'query',\n variables,\n );\n },\n standardRates(\n variables: StandardRatesQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<StandardRatesQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<StandardRatesQuery>({\n document: StandardRatesDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'standardRates',\n 'query',\n variables,\n );\n },\n statusChangeTransitionPermissions(\n variables?: StatusChangeTransitionPermissionsQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<StatusChangeTransitionPermissionsQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<StatusChangeTransitionPermissionsQuery>({\n document: StatusChangeTransitionPermissionsDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'statusChangeTransitionPermissions',\n 'query',\n variables,\n );\n },\n statusChanges(\n variables?: StatusChangesQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<StatusChangesQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<StatusChangesQuery>({\n document: StatusChangesDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'statusChanges',\n 'query',\n variables,\n );\n },\n statusInsights(\n variables: StatusInsightsQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<StatusInsightsQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<StatusInsightsQuery>({\n document: StatusInsightsDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'statusInsights',\n 'query',\n variables,\n );\n },\n users(\n variables?: UsersQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<UsersQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<UsersQuery>({\n document: UsersDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'users',\n 'query',\n variables,\n );\n },\n usersPresences(\n variables?: UsersPresencesQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<UsersPresencesQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<UsersPresencesQuery>({\n document: UsersPresencesDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'usersPresences',\n 'query',\n variables,\n );\n },\n widget(\n variables: WidgetQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<WidgetQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<WidgetQuery>({\n document: WidgetDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'widget',\n 'query',\n variables,\n );\n },\n widgets(\n variables?: WidgetsQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<WidgetsQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<WidgetsQuery>({\n document: WidgetsDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'widgets',\n 'query',\n variables,\n );\n },\n workOrders(\n variables?: WorkOrdersQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<WorkOrdersQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<WorkOrdersQuery>({\n document: WorkOrdersDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'workOrders',\n 'query',\n variables,\n );\n },\n workOrdersInsights(\n variables: WorkOrdersInsightsQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<WorkOrdersInsightsQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<WorkOrdersInsightsQuery>({\n document: WorkOrdersInsightsDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'workOrdersInsights',\n 'query',\n variables,\n );\n },\n workplaceAssignments(\n variables: WorkplaceAssignmentsQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<WorkplaceAssignmentsQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<WorkplaceAssignmentsQuery>({\n document: WorkplaceAssignmentsDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'workplaceAssignments',\n 'query',\n variables,\n );\n },\n workplacePerformanceInsights(\n variables: WorkplacePerformanceInsightsQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<WorkplacePerformanceInsightsQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<WorkplacePerformanceInsightsQuery>({\n document: WorkplacePerformanceInsightsDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'workplacePerformanceInsights',\n 'query',\n variables,\n );\n },\n workplaces(\n variables?: WorkplacesQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<WorkplacesQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<WorkplacesQuery>({\n document: WorkplacesDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'workplaces',\n 'query',\n variables,\n );\n },\n assignOperator(\n variables: AssignOperatorMutationVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<AssignOperatorMutation> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<AssignOperatorMutation>({\n document: AssignOperatorDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'assignOperator',\n 'mutation',\n variables,\n );\n },\n unassignOperator(\n variables: UnassignOperatorMutationVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<UnassignOperatorMutation> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<UnassignOperatorMutation>({\n document: UnassignOperatorDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'unassignOperator',\n 'mutation',\n variables,\n );\n },\n getWorkplacePerformanceInsights(\n variables: GetWorkplacePerformanceInsightsQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<GetWorkplacePerformanceInsightsQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<GetWorkplacePerformanceInsightsQuery>({\n document: GetWorkplacePerformanceInsightsDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'getWorkplacePerformanceInsights',\n 'query',\n variables,\n );\n },\n listActualStaffingCounts(\n variables?: ListActualStaffingCountsQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<ListActualStaffingCountsQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<ListActualStaffingCountsQuery>({\n document: ListActualStaffingCountsDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'listActualStaffingCounts',\n 'query',\n variables,\n );\n },\n listStaffingPlans(\n variables?: ListStaffingPlansQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<ListStaffingPlansQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<ListStaffingPlansQuery>({\n document: ListStaffingPlansDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'listStaffingPlans',\n 'query',\n variables,\n );\n },\n listStatusChanges(\n variables?: ListStatusChangesQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<ListStatusChangesQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<ListStatusChangesQuery>({\n document: ListStatusChangesDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'listStatusChanges',\n 'query',\n variables,\n );\n },\n listWorkOrders(\n variables?: ListWorkOrdersQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<ListWorkOrdersQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<ListWorkOrdersQuery>({\n document: ListWorkOrdersDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'listWorkOrders',\n 'query',\n variables,\n );\n },\n listWorkplaceAssignments(\n variables: ListWorkplaceAssignmentsQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<ListWorkplaceAssignmentsQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<ListWorkplaceAssignmentsQuery>({\n document: ListWorkplaceAssignmentsDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'listWorkplaceAssignments',\n 'query',\n variables,\n );\n },\n listWorkplaces(\n variables?: ListWorkplacesQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<ListWorkplacesQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<ListWorkplacesQuery>({\n document: ListWorkplacesDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'listWorkplaces',\n 'query',\n variables,\n );\n },\n workplaceEvent(\n variables: WorkplaceEventSubscriptionVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<WorkplaceEventSubscription> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<WorkplaceEventSubscription>({\n document: WorkplaceEventDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'workplaceEvent',\n 'subscription',\n variables,\n );\n },\n };\n}\nexport type Sdk = ReturnType<typeof getSdk>;\n","import dayjs from 'dayjs';\n\nimport type { FilterValues } from '../components/DashboardFilters/types';\nimport { DayType } from '../graphql-sdk';\n\nexport const resolveInitialValues = (values?: Partial<FilterValues>): FilterValues | undefined => {\n if (!values) return undefined;\n\n const today = dayjs().format('YYYY-MM-DD');\n\n return {\n dayType: values.dayType ?? DayType.Production,\n dateRange: values.dateRange ?? { from: `${today}T00:00:00`, to: `${today}T23:59:59` },\n shiftIds: values.shiftIds ?? [],\n selectedPeriodId: values.selectedPeriodId,\n };\n};\n","","","import en from './en/translation.json';\nimport pl from './pl/translation.json';\n\nconst resources = {\n en: {\n translation: en,\n },\n pl: {\n translation: pl,\n },\n};\n\nexport default resources;\n","import { SxProps, Theme } from '@mui/material/styles';\n\nconst styles: Record<string, SxProps<Theme>> = {\n dialog: {\n '& .MuiDialog-paper': {\n borderRadius: '6px',\n },\n '& .MuiDialogContent-root': {\n padding: 0,\n },\n },\n};\n\nexport default styles;\n","import React, { useCallback } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport { Button, Dialog, DialogActions, DialogContent, DialogTitle } from '@mui/material';\nimport { AccessBlocker, AccessButton, AccessState, CooldownInfo, FeatureRequestPayload } from 'andoncloud-sdk';\n\nimport styles from './styles';\n\nconst FEATURE_KEY = 'feature.dashboard_extended_date_ranges';\n\nexport type AccessDeniedModalProps = {\n open: boolean;\n onClose: () => void;\n accessState: AccessState;\n buttons: AccessButton[];\n daysSinceExpiry: number | null;\n cooldownInfo: CooldownInfo;\n workplaceId?: string;\n onFeatureRequest?: (payload: FeatureRequestPayload) => Promise<boolean>;\n};\n\nconst AccessDeniedModal: React.FC<AccessDeniedModalProps> = ({\n open,\n onClose,\n accessState,\n buttons,\n daysSinceExpiry,\n cooldownInfo,\n workplaceId,\n onFeatureRequest,\n}) => {\n const handleTrialRequest = useCallback(() => Promise.resolve(false), []);\n\n const handleFeatureRequest = useCallback(\n async (payload: FeatureRequestPayload) => {\n const success = onFeatureRequest ? await onFeatureRequest(payload) : false;\n if (success) {\n onClose();\n }\n return success;\n },\n [onFeatureRequest, onClose],\n );\n\n const { t } = useTranslation();\n\n return (\n <Dialog open={open} onClose={onClose} sx={styles.dialog} data-testid=\"dashboard-filters.access-denied-dialog\">\n <DialogTitle>{t('dashboardFilters.accessDenied.title')}</DialogTitle>\n <DialogContent>\n <AccessBlocker\n accessState={accessState}\n buttons={buttons}\n daysSinceExpiry={daysSinceExpiry ?? undefined}\n featureKey={FEATURE_KEY}\n workplaceId={workplaceId}\n cooldownInfo={cooldownInfo}\n onTrialRequest={handleTrialRequest}\n onFeatureRequest={handleFeatureRequest}\n />\n <DialogActions>\n <Button onClick={onClose}>{t('dashboardFilters.accessDenied.close')}</Button>\n </DialogActions>\n </DialogContent>\n </Dialog>\n );\n};\n\nexport default AccessDeniedModal;\n","import { SxProps, Theme } from '@mui/material/styles';\n\nconst styles: Record<string, SxProps<Theme>> = {\n container: {\n display: 'flex',\n alignItems: 'center',\n gap: (theme) => theme.spacing(1),\n },\n label: {\n fontSize: '0.875rem',\n whiteSpace: 'nowrap',\n color: (theme) => theme.palette.common.white,\n },\n toggleGroup: {\n '& .MuiToggleButton-root': {\n padding: (theme) => theme.spacing(0.5, 1.5),\n fontSize: '0.875rem',\n opacity: 0.7,\n color: (theme) => theme.palette.text.primary,\n textTransform: 'none',\n borderRadius: '6px',\n '&.Mui-selected': {\n opacity: 1,\n color: (theme) => theme.palette.common.white,\n backgroundColor: (theme) => theme.palette.primary.main,\n '&:hover': {\n backgroundColor: (theme) => theme.palette.primary.dark,\n },\n },\n },\n },\n};\n\nexport default styles;\n","import React, { useCallback } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport { Box, ToggleButton, ToggleButtonGroup, Typography } from '@mui/material';\n\nimport { DayType } from '../../../graphql-sdk';\n\nimport styles from './styles';\n\nexport type DayTypeSelectorProps = {\n value: DayType;\n onChange: (value: DayType) => void;\n};\n\nconst DayTypeSelector: React.FC<DayTypeSelectorProps> = ({ value, onChange }) => {\n const { t } = useTranslation();\n\n const handleChange = useCallback(\n (_event: React.MouseEvent<HTMLElement>, newValue: DayType | null) => {\n if (newValue !== null) {\n onChange(newValue);\n }\n },\n [onChange],\n );\n\n return (\n <Box sx={styles.container}>\n <Typography sx={styles.label}>{t('dashboardFilters.dayType.label')}</Typography>\n <ToggleButtonGroup\n value={value}\n exclusive\n onChange={handleChange}\n size=\"small\"\n sx={styles.toggleGroup}\n data-testid=\"dashboard-filters.day-type-selector\"\n >\n <ToggleButton value={DayType.Calendar} data-testid=\"dashboard-filters.day-type-calendar\">\n {t('dashboardFilters.dayType.calendar')}\n </ToggleButton>\n <ToggleButton value={DayType.Production} data-testid=\"dashboard-filters.day-type-production\">\n {t('dashboardFilters.dayType.production')}\n </ToggleButton>\n </ToggleButtonGroup>\n </Box>\n );\n};\n\nexport default DayTypeSelector;\n","import dayjs, { Dayjs } from 'dayjs';\n\nimport { Shift } from '../graphql-sdk';\n\nexport interface NormalizedShift {\n id: string;\n name: string;\n startedAt: Dayjs;\n finishedAt: Dayjs;\n}\n\nconst setDate = (date: Dayjs, shiftDate: Dayjs): Dayjs => {\n return shiftDate.year(date.year()).month(date.month()).date(date.date());\n};\n\nexport const normalizeShifts = (shifts: Shift[], date: Dayjs) => {\n const normalizedShifts: NormalizedShift[] = [];\n\n shifts.forEach((shift) => {\n let startedAt = dayjs(shift.startedAt);\n let finishedAt = dayjs(shift.finishedAt);\n\n startedAt = setDate(date, startedAt);\n finishedAt = setDate(date, finishedAt);\n\n if (startedAt.isAfter(finishedAt)) {\n const prevDayStartedAt = startedAt.subtract(1, 'day');\n const nextDayFinishedAt = finishedAt.add(1, 'day');\n\n normalizedShifts.push({ id: shift.id, name: shift.name, startedAt: prevDayStartedAt, finishedAt });\n normalizedShifts.push({ id: shift.id, name: shift.name, startedAt, finishedAt: nextDayFinishedAt });\n } else {\n normalizedShifts.push({ id: shift.id, name: shift.name, startedAt, finishedAt });\n }\n });\n return normalizedShifts;\n};\n\nexport const getCurrentShift = (date: Dayjs, shifts: NormalizedShift[]) => {\n return (\n shifts.find((shift) => {\n return !date.isBefore(shift.startedAt) && date.isBefore(shift.finishedAt);\n }) || null\n );\n};\n\nexport const getRecentShift = (date: Dayjs, shifts: NormalizedShift[]) => {\n if (shifts.length) {\n return shifts.reduce((previous, current) => {\n return Math.abs(date.diff(current.finishedAt)) < Math.abs(date.diff(previous.finishedAt)) ? current : previous;\n });\n }\n return null;\n};\n","import dayjs, { Dayjs } from 'dayjs';\nimport isoWeek from 'dayjs/plugin/isoWeek';\nimport quarterOfYear from 'dayjs/plugin/quarterOfYear';\n\nimport type { CalculateContext, DateRange, PeriodDefinition, PeriodId } from '../components/DashboardFilters/types';\nimport { DayType, Shift } from '../graphql-sdk';\n\nimport { getCurrentShift, getRecentShift, NormalizedShift, normalizeShifts } from './shifts';\n\ndayjs.extend(isoWeek);\ndayjs.extend(quarterOfYear);\n\ntype TimeBoundaries = {\n startTime: string; // HH:mm:ss\n endTime: string; // HH:mm:ss\n crossesMidnight: boolean;\n};\n\nconst parseShiftTime = (timeStr: string): string => {\n // Shift time format: \"2000-01-01 06:00:00 +0100\" or similar\n // Extract just the time part HH:mm:ss\n const match = timeStr.match(/(\\d{2}:\\d{2}:\\d{2})/);\n return match ? match[1] : '00:00:00';\n};\n\nconst timeToMinutes = (time: string): number => {\n const [hours, minutes] = time.split(':').map(Number);\n return hours * 60 + minutes;\n};\n\nconst getTimeBoundaries = (shifts: Shift[], selectedShiftIds: string[]): TimeBoundaries => {\n const relevantShifts = selectedShiftIds.length === 0 ? shifts : shifts.filter((s) => selectedShiftIds.includes(s.id));\n\n if (relevantShifts.length === 0) {\n return { startTime: '00:00:00', endTime: '23:59:59', crossesMidnight: false };\n }\n\n const shiftTimes = relevantShifts.map((s) => ({\n start: parseShiftTime(s.startedAt),\n end: parseShiftTime(s.finishedAt),\n }));\n\n // Sort by start time\n shiftTimes.sort((a, b) => timeToMinutes(a.start) - timeToMinutes(b.start));\n\n const startTime = shiftTimes[0].start;\n const endTime = shiftTimes[shiftTimes.length - 1].end;\n\n // Check if crosses midnight:\n // - end time < start time (e.g., 06:00 < 22:00 for night shift only)\n // - end time <= start time when any shift crosses midnight (e.g., 06:00 <= 06:00 for 24h operation)\n const anyShiftCrossesMidnight = shiftTimes.some((s) => timeToMinutes(s.end) < timeToMinutes(s.start));\n const crossesMidnight = timeToMinutes(endTime) <= timeToMinutes(startTime) && anyShiftCrossesMidnight;\n\n return { startTime, endTime, crossesMidnight };\n};\n\nconst formatDateTime = (date: Dayjs, time: string): string => {\n const [hours, minutes, seconds] = time.split(':').map(Number);\n return date\n .hour(hours)\n .minute(minutes)\n .second(seconds || 0)\n .format('YYYY-MM-DDTHH:mm:ss');\n};\n\nconst createDateRange = (startDate: Dayjs, endDate: Dayjs, dayType: DayType, boundaries: TimeBoundaries): DateRange => {\n if (dayType === DayType.Calendar) {\n return {\n from: formatDateTime(startDate, '00:00:00'),\n to: formatDateTime(endDate, '23:59:59'),\n };\n }\n\n // PRODUCTION mode\n const from = formatDateTime(startDate, boundaries.startTime);\n let to: string;\n\n if (boundaries.crossesMidnight) {\n // End time is on the next day\n to = formatDateTime(endDate.add(1, 'day'), boundaries.endTime);\n } else {\n to = formatDateTime(endDate, boundaries.endTime);\n }\n\n return { from, to };\n};\n\nconst createPeriodCalculator =\n (getDateRange: (now: Dayjs) => { start: Dayjs; end: Dayjs }) =>\n (ctx: CalculateContext): DateRange => {\n const now = dayjs();\n const { start, end } = getDateRange(now);\n const boundaries = getTimeBoundaries(ctx.shifts, ctx.selectedShiftIds);\n return createDateRange(start, end, ctx.dayType, boundaries);\n };\n\nconst findTargetShift = (shifts: Shift[], mode: 'current' | 'last'): NormalizedShift | null => {\n const now = dayjs();\n if (!shifts?.length) return null;\n\n const normalized = normalizeShifts(shifts, now);\n const current = getCurrentShift(now, normalized) ?? getRecentShift(now, normalized);\n if (!current) return null;\n\n if (mode === 'current') return current;\n\n // mode === 'last': find the shift ending just before current.startedAt\n const previous = normalized\n .filter((s) => s.finishedAt.isBefore(current.startedAt) || s.finishedAt.isSame(current.startedAt))\n .sort((a, b) => b.finishedAt.diff(a.finishedAt))[0];\n\n return previous ?? current; // fallback if only one shift\n};\n\nconst calculateShiftPeriod = (ctx: CalculateContext, mode: 'current' | 'last'): DateRange => {\n const target = findTargetShift(ctx.shifts, mode);\n\n if (!target) {\n const today = dayjs().format('YYYY-MM-DD');\n return { from: `${today}T00:00:00`, to: `${today}T23:59:59` };\n }\n\n return {\n from: target.startedAt.format('YYYY-MM-DDTHH:mm:ss'),\n to: target.finishedAt.format('YYYY-MM-DDTHH:mm:ss'),\n };\n};\n\nexport const resolveShiftIdForPeriod = (periodId: PeriodId, shifts: Shift[]): string | null => {\n if (periodId !== 'current_shift' && periodId !== 'last_shift') return null;\n const mode = periodId === 'current_shift' ? 'current' : 'last';\n const target = findTargetShift(shifts, mode);\n return target?.id ?? null;\n};\n\nexport const periods: PeriodDefinition[] = [\n // Shift-based periods\n {\n id: 'current_shift',\n labelKey: 'dashboardFilters.periods.currentShift',\n needAccess: false,\n category: 'shift_based',\n calculate: (ctx) => calculateShiftPeriod(ctx, 'current'),\n },\n {\n id: 'last_shift',\n labelKey: 'dashboardFilters.periods.lastShift',\n needAccess: false,\n category: 'shift_based',\n calculate: (ctx) => calculateShiftPeriod(ctx, 'last'),\n },\n\n // Relative days\n {\n id: 'today',\n labelKey: 'dashboardFilters.periods.today',\n needAccess: false,\n category: 'relative_days',\n calculate: createPeriodCalculator((now) => ({ start: now, end: now })),\n },\n {\n id: 'yesterday',\n labelKey: 'dashboardFilters.periods.yesterday',\n needAccess: false,\n category: 'relative_days',\n calculate: createPeriodCalculator((now) => {\n const yesterday = now.subtract(1, 'day');\n return { start: yesterday, end: yesterday };\n }),\n },\n\n // Rolling periods (free)\n {\n id: 'last_7_days',\n labelKey: 'dashboardFilters.periods.last7Days',\n needAccess: false,\n category: 'rolling',\n calculate: createPeriodCalculator((now) => ({ start: now.subtract(6, 'day'), end: now })),\n },\n {\n id: 'last_14_days',\n labelKey: 'dashboardFilters.periods.last14Days',\n needAccess: false,\n category: 'rolling',\n calculate: createPeriodCalculator((now) => ({ start: now.subtract(13, 'day'), end: now })),\n },\n {\n id: 'last_30_days',\n labelKey: 'dashboardFilters.periods.last30Days',\n needAccess: false,\n category: 'rolling',\n calculate: createPeriodCalculator((now) => ({ start: now.subtract(29, 'day'), end: now })),\n },\n\n // Rolling periods (premium)\n {\n id: 'last_90_days',\n labelKey: 'dashboardFilters.periods.last90Days',\n needAccess: true,\n category: 'rolling',\n calculate: createPeriodCalculator((now) => ({ start: now.subtract(89, 'day'), end: now })),\n },\n {\n id: 'last_180_days',\n labelKey: 'dashboardFilters.periods.last180Days',\n needAccess: true,\n category: 'rolling',\n calculate: createPeriodCalculator((now) => ({ start: now.subtract(179, 'day'), end: now })),\n },\n {\n id: 'last_365_days',\n labelKey: 'dashboardFilters.periods.last365Days',\n needAccess: true,\n category: 'rolling',\n calculate: createPeriodCalculator((now) => ({ start: now.subtract(364, 'day'), end: now })),\n },\n\n // Current periods\n {\n id: 'current_week',\n labelKey: 'dashboardFilters.periods.currentWeek',\n needAccess: false,\n category: 'current',\n calculate: createPeriodCalculator((now) => ({ start: now.startOf('isoWeek'), end: now })),\n },\n {\n id: 'current_month',\n labelKey: 'dashboardFilters.periods.currentMonth',\n needAccess: false,\n category: 'current',\n calculate: createPeriodCalculator((now) => ({ start: now.startOf('month'), end: now })),\n },\n {\n id: 'current_quarter',\n labelKey: 'dashboardFilters.periods.currentQuarter',\n needAccess: true,\n category: 'current',\n calculate: createPeriodCalculator((now) => ({ start: now.startOf('quarter'), end: now })),\n },\n {\n id: 'current_year',\n labelKey: 'dashboardFilters.periods.currentYear',\n needAccess: true,\n category: 'current',\n calculate: createPeriodCalculator((now) => ({ start: now.startOf('year'), end: now })),\n },\n\n // Previous periods\n {\n id: 'previous_week',\n labelKey: 'dashboardFilters.periods.previousWeek',\n needAccess: false,\n category: 'previous',\n calculate: createPeriodCalculator((now) => {\n const prevWeek = now.subtract(1, 'week');\n return { start: prevWeek.startOf('isoWeek'), end: prevWeek.endOf('isoWeek') };\n }),\n },\n {\n id: 'previous_month',\n labelKey: 'dashboardFilters.periods.previousMonth',\n needAccess: true,\n category: 'previous',\n calculate: createPeriodCalculator((now) => {\n const prevMonth = now.subtract(1, 'month');\n return { start: prevMonth.startOf('month'), end: prevMonth.endOf('month') };\n }),\n },\n {\n id: 'previous_quarter',\n labelKey: 'dashboardFilters.periods.previousQuarter',\n needAccess: true,\n category: 'previous',\n calculate: createPeriodCalculator((now) => {\n const prevQuarter = now.subtract(1, 'quarter');\n return { start: prevQuarter.startOf('quarter'), end: prevQuarter.endOf('quarter') };\n }),\n },\n {\n id: 'previous_year',\n labelKey: 'dashboardFilters.periods.previousYear',\n needAccess: true,\n category: 'previous',\n calculate: createPeriodCalculator((now) => {\n const prevYear = now.subtract(1, 'year');\n return { start: prevYear.startOf('year'), end: prevYear.endOf('year') };\n }),\n },\n\n // Calendar weeks\n {\n id: 'last_2_weeks',\n labelKey: 'dashboardFilters.periods.last2Weeks',\n needAccess: false,\n category: 'calendar_weeks',\n calculate: createPeriodCalculator((now) => ({\n start: now.subtract(2, 'week').startOf('isoWeek'),\n end: now.endOf('isoWeek'),\n })),\n },\n {\n id: 'last_4_weeks',\n labelKey: 'dashboardFilters.periods.last4Weeks',\n needAccess: false,\n category: 'calendar_weeks',\n calculate: createPeriodCalculator((now) => ({\n start: now.subtract(4, 'week').startOf('isoWeek'),\n end: now.endOf('isoWeek'),\n })),\n },\n {\n id: 'last_8_weeks',\n labelKey: 'dashboardFilters.periods.last8Weeks',\n needAccess: true,\n category: 'calendar_weeks',\n calculate: createPeriodCalculator((now) => ({\n start: now.subtract(8, 'week').startOf('isoWeek'),\n end: now.endOf('isoWeek'),\n })),\n },\n {\n id: 'last_12_weeks',\n labelKey: 'dashboardFilters.periods.last12Weeks',\n needAccess: true,\n category: 'calendar_weeks',\n calculate: createPeriodCalculator((now) => ({\n start: now.subtract(12, 'week').startOf('isoWeek'),\n end: now.endOf('isoWeek'),\n })),\n },\n\n // Fiscal periods\n {\n id: 'last_3_months',\n labelKey: 'dashboardFilters.periods.last3Months',\n needAccess: true,\n category: 'fiscal',\n calculate: createPeriodCalculator((now) => ({\n start: now.subtract(3, 'month').startOf('month'),\n end: now.endOf('month'),\n })),\n },\n {\n id: 'last_6_months',\n labelKey: 'dashboardFilters.periods.last6Months',\n needAccess: true,\n category: 'fiscal',\n calculate: createPeriodCalculator((now) => ({\n start: now.subtract(6, 'month').startOf('month'),\n end: now.endOf('month'),\n })),\n },\n {\n id: 'last_12_months',\n labelKey: 'dashboardFilters.periods.last12Months',\n needAccess: true,\n category: 'fiscal',\n calculate: createPeriodCalculator((now) => ({\n start: now.subtract(12, 'month').startOf('month'),\n end: now.endOf('month'),\n })),\n },\n\n // Individual weeks (1-52) for current year\n ...Array.from({ length: 52 }, (_, i) => {\n const weekNumber = i + 1;\n return {\n id: `week_${weekNumber}`,\n labelKey: `dashboardFilters.periods.week`,\n labelParams: { week: weekNumber },\n needAccess: false,\n category: 'weeks',\n calculate: createPeriodCalculator((now) => {\n const year = now.year();\n const weekStart = dayjs().year(year).isoWeek(weekNumber).startOf('isoWeek');\n const weekEnd = weekStart.endOf('isoWeek');\n return { start: weekStart, end: weekEnd };\n }),\n } as PeriodDefinition;\n }),\n];\n\nexport const findPeriodById = (id: string): PeriodDefinition | undefined => {\n return periods.find((p) => p.id === id);\n};\n\nexport const getTimeRangeLabel = (shifts: Shift[], selectedShiftIds: string[]): string | null => {\n if (shifts.length === 0) return null;\n\n const boundaries = getTimeBoundaries(shifts, selectedShiftIds);\n const startFormatted = boundaries.startTime.slice(0, 5);\n const endFormatted = boundaries.endTime.slice(0, 5);\n\n return `${startFormatted} - ${endFormatted}`;\n};\n\nexport const getShiftTimeRange = (shift: Shift): string => {\n const startFormatted = parseShiftTime(shift.startedAt).slice(0, 5);\n const endFormatted = parseShiftTime(shift.finishedAt).slice(0, 5);\n return `${startFormatted} - ${endFormatted}`;\n};\n\nconst getNextMidnight = (ctx: CalculateContext): Date => {\n if (ctx.dayType === DayType.Production && ctx.shifts.length > 0) {\n const boundaries = getTimeBoundaries(ctx.shifts, ctx.selectedShiftIds);\n const [h, m, s] = boundaries.startTime.split(':').map(Number);\n const next = dayjs()\n .add(1, 'day')\n .hour(h)\n .minute(m)\n .second(s || 0)\n .millisecond(0);\n return next.toDate();\n }\n return dayjs().add(1, 'day').startOf('day').toDate();\n};\n\nconst getNextShiftBoundary = (ctx: CalculateContext): Date | null => {\n if (ctx.shifts.length === 0) return null;\n\n const now = dayjs();\n const normalized = normalizeShifts(ctx.shifts, now);\n const current = getCurrentShift(now, normalized);\n\n if (current) {\n return current.finishedAt.toDate();\n }\n\n const upcoming = normalized.filter((s) => s.startedAt.isAfter(now)).sort((a, b) => a.startedAt.diff(b.startedAt));\n\n return upcoming.length > 0 ? upcoming[0].startedAt.toDate() : null;\n};\n\nexport const getNextBoundary = (periodId: PeriodId, ctx: CalculateContext): Date | null => {\n switch (periodId) {\n case 'today':\n case 'yesterday':\n return getNextMidnight(ctx);\n\n case 'current_shift':\n case 'last_shift':\n return getNextShiftBoundary(ctx);\n\n case 'current_week':\n case 'previous_week':\n return dayjs().add(1, 'week').startOf('isoWeek').toDate();\n\n case 'current_month':\n case 'previous_month':\n return dayjs().add(1, 'month').startOf('month').toDate();\n\n case 'current_quarter':\n case 'previous_quarter':\n return dayjs().add(1, 'quarter').startOf('quarter').toDate();\n\n case 'current_year':\n case 'previous_year':\n return dayjs().add(1, 'year').startOf('year').toDate();\n\n default: {\n if (periodId.startsWith('last_') && periodId.endsWith('_days')) {\n return getNextMidnight(ctx);\n }\n if (periodId.startsWith('last_') && periodId.endsWith('_weeks')) {\n return dayjs().add(1, 'week').startOf('isoWeek').toDate();\n }\n if (periodId.startsWith('last_') && periodId.endsWith('_months')) {\n return dayjs().add(1, 'month').startOf('month').toDate();\n }\n // week_N — specific calendar week, no auto-refresh\n return null;\n }\n }\n};\n","import { SxProps, Theme } from '@mui/material/styles';\n\nconst styles: Record<string, SxProps<Theme>> = {\n container: {\n display: 'flex',\n flexDirection: 'column',\n height: '100%',\n },\n searchField: {\n marginTop: (theme) => theme.spacing(2),\n marginBottom: (theme) => theme.spacing(1),\n '& .MuiInputAdornment-root': {\n color: (theme) => theme.palette.text.primary,\n },\n },\n list: {\n flexGrow: 1,\n overflow: 'auto',\n padding: 0,\n },\n listItem: {\n cursor: 'pointer',\n padding: (theme) => theme.spacing(1, 1.5),\n borderRadius: '6px',\n '&:hover': {\n background: 'rgba(255, 255, 255, 0.1)',\n },\n '&.Mui-selected': {\n background: 'rgba(255, 255, 255, 0.15)',\n },\n '& .MuiListItemText-primary': {\n fontSize: '0.875rem',\n },\n '& .MuiListItemText-secondary': {\n opacity: 0.7,\n fontSize: '0.75rem',\n color: (theme) => theme.palette.text.primary,\n },\n },\n premiumChip: {\n marginLeft: (theme) => theme.spacing(1),\n '& .MuiChip-icon': {\n marginLeft: (theme) => theme.spacing(0.5),\n },\n },\n noResults: {\n padding: (theme) => theme.spacing(2),\n opacity: 0.6,\n textAlign: 'center',\n },\n};\n\nexport default styles;\n","import React, { useCallback, useMemo, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport LockIcon from '@mui/icons-material/Lock';\nimport SearchIcon from '@mui/icons-material/Search';\nimport { Box, Chip, InputAdornment, List, ListItemButton, ListItemText, TextField } from '@mui/material';\nimport dayjs from 'dayjs';\n\nimport { DayType, Shift } from '../../../graphql-sdk';\nimport { getTimeRangeLabel, periods } from '../../../helpers/periods';\nimport { getCurrentShift, getRecentShift, normalizeShifts } from '../../../helpers/shifts';\nimport type { DateRange, PeriodDefinition, PeriodId } from '../types';\n\nimport styles from './styles';\n\nexport type PeriodListProps = {\n dayType: DayType;\n shifts: Shift[];\n selectedShiftIds: string[];\n selectedPeriodId?: PeriodId;\n hasAccess: boolean;\n onPeriodSelect: (period: PeriodDefinition, dateRange: DateRange) => void;\n};\n\nconst PeriodList: React.FC<PeriodListProps> = ({\n dayType,\n shifts,\n selectedShiftIds,\n selectedPeriodId,\n hasAccess,\n onPeriodSelect,\n}) => {\n const { t } = useTranslation();\n const [searchQuery, setSearchQuery] = useState('');\n const [debouncedQuery, setDebouncedQuery] = useState('');\n const debounceRef = React.useRef<NodeJS.Timeout | null>(null);\n\n const handleSearchChange = useCallback((e: React.ChangeEvent<HTMLInputElement>) => {\n const value = e.target.value;\n setSearchQuery(value);\n\n if (debounceRef.current) {\n clearTimeout(debounceRef.current);\n }\n\n debounceRef.current = setTimeout(() => {\n setDebouncedQuery(value);\n }, 300);\n }, []);\n\n const timeRangeLabel = useMemo(() => {\n if (dayType !== DayType.Production || shifts.length === 0) {\n return null;\n }\n return getTimeRangeLabel(shifts, selectedShiftIds);\n }, [dayType, shifts, selectedShiftIds]);\n\n const getPeriodLabel = useCallback(\n (period: PeriodDefinition) => {\n return t(period.labelKey, period.labelParams);\n },\n [t],\n );\n\n const shiftLabels = useMemo(() => {\n if (shifts.length === 0) return {};\n\n const now = dayjs();\n const normalized = normalizeShifts(shifts, now);\n const current = getCurrentShift(now, normalized) ?? getRecentShift(now, normalized);\n if (!current) return {};\n\n const currentLabel = `${current.startedAt.format('HH:mm')} - ${current.finishedAt.format('HH:mm')}`;\n\n const previous = normalized\n .filter((s) => s.finishedAt.isBefore(current.startedAt) || s.finishedAt.isSame(current.startedAt))\n .sort((a, b) => b.finishedAt.diff(a.finishedAt))[0];\n\n const target = previous ?? current;\n const lastLabel = `${target.startedAt.format('HH:mm')} - ${target.finishedAt.format('HH:mm')}`;\n\n return { current_shift: currentLabel, last_shift: lastLabel } as Record<string, string>;\n }, [shifts]);\n\n const filteredPeriods = useMemo(() => {\n let available = periods.filter((period) => {\n if (period.category === 'shift_based' && dayType === DayType.Calendar) return false;\n return true;\n });\n\n if (debouncedQuery.trim()) {\n const query = debouncedQuery.toLowerCase().trim();\n available = available.filter((period) => {\n const label = getPeriodLabel(period).toLowerCase();\n return label.includes(query);\n });\n }\n\n return available;\n }, [debouncedQuery, getPeriodLabel, dayType]);\n\n const handlePeriodClick = useCallback(\n (period: PeriodDefinition) => {\n const dateRange = period.calculate({\n dayType,\n shifts,\n selectedShiftIds,\n });\n onPeriodSelect(period, dateRange);\n },\n [dayType, shifts, selectedShiftIds, onPeriodSelect],\n );\n\n const showLockIcon = (period: PeriodDefinition) => !hasAccess && period.needAccess;\n\n return (\n <Box sx={styles.container} data-testid=\"dashboard-filters.period-list\">\n <TextField\n size=\"small\"\n label={t('dashboardFilters.search.placeholder')}\n value={searchQuery}\n onChange={handleSearchChange}\n sx={styles.searchField}\n InputProps={{\n startAdornment: (\n <InputAdornment position=\"start\">\n <SearchIcon fontSize=\"small\" />\n </InputAdornment>\n ),\n }}\n data-testid=\"dashboard-filters.period-search\"\n />\n\n <List sx={styles.list}>\n {filteredPeriods.length === 0 ? (\n <ListItemText sx={styles.noResults} primary={t('dashboardFilters.search.noResults')} />\n ) : (\n filteredPeriods.map((period) => (\n <ListItemButton\n key={period.id}\n selected={period.id === selectedPeriodId}\n onClick={() => handlePeriodClick(period)}\n sx={styles.listItem}\n data-testid={`dashboard-filters.period-item-${period.id}`}\n >\n <ListItemText\n primary={getPeriodLabel(period)}\n secondary={\n period.category === 'shift_based'\n ? shiftLabels[period.id]\n ? `(${shiftLabels[period.id]})`\n : undefined\n : timeRangeLabel\n ? `(${timeRangeLabel})`\n : undefined\n }\n />\n\n {showLockIcon(period) && (\n <Chip\n icon={<LockIcon />}\n label={t('dashboardFilters.premium.indicator')}\n size=\"small\"\n color=\"warning\"\n variant=\"outlined\"\n sx={styles.premiumChip}\n data-testid=\"dashboard-filters.premium-chip\"\n />\n )}\n </ListItemButton>\n ))\n )}\n </List>\n </Box>\n );\n};\n\nexport default PeriodList;\n","import { SxProps, Theme } from '@mui/material/styles';\n\nconst styles: Record<string, SxProps<Theme>> = {\n container: {\n display: 'flex',\n gap: (theme) => theme.spacing(2),\n },\n leftPanel: {\n flexBasis: 280,\n flexShrink: 0,\n height: 360,\n },\n rightPanel: {\n display: 'flex',\n flexDirection: 'column',\n flexBasis: 320,\n flexShrink: 0,\n gap: (theme) => theme.spacing(2),\n },\n dateInputs: {\n display: 'flex',\n gap: (theme) => theme.spacing(2),\n },\n dateField: {\n flexGrow: 1,\n },\n calendarContainer: {\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'flex-start',\n },\n calendar: {\n '& .MuiPickersCalendarHeader-label': {\n color: (theme) => theme.palette.text.primary,\n },\n '& .MuiPickersCalendarHeader-switchViewButton': {\n color: (theme) => theme.palette.text.primary,\n },\n '& .MuiPickersArrowSwitcher-button': {\n opacity: 0.7,\n color: (theme) => theme.palette.text.primary,\n '&.Mui-disabled': {\n color: (theme) => theme.palette.gray.light,\n },\n },\n '& .MuiDayCalendar-weekDayLabel': {\n color: (theme) => theme.palette.text.primary,\n },\n '& .MuiPickersDay-root': {\n color: (theme) => theme.palette.text.primary,\n '&:not(.Mui-selected)': {\n border: 'none',\n },\n '&.Mui-disabled:not(.Mui-selected)': {\n opacity: 0.3,\n color: (theme) => theme.palette.text.primary,\n },\n },\n },\n rangeDay: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n },\n rangeDayInRange: {\n backgroundColor: (theme) => theme.palette.primary.main,\n },\n rangeDayStart: {\n backgroundColor: (theme) => theme.palette.primary.main,\n borderTopLeftRadius: 17,\n borderBottomLeftRadius: 17,\n },\n rangeDayEnd: {\n backgroundColor: (theme) => theme.palette.primary.main,\n borderTopRightRadius: 17,\n borderBottomRightRadius: 17,\n },\n};\n\nexport default styles;\n","import 'dayjs/locale/pl';\n\nimport React, { useCallback, useMemo, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport { Box, TextField } from '@mui/material';\nimport { AdapterDayjs } from '@mui/x-date-pickers/AdapterDayjs';\nimport { DateCalendar } from '@mui/x-date-pickers/DateCalendar';\nimport { LocalizationProvider } from '@mui/x-date-pickers/LocalizationProvider';\nimport { PickersDay, PickersDayProps } from '@mui/x-date-pickers/PickersDay';\nimport dayjs, { Dayjs } from 'dayjs';\nimport isBetween from 'dayjs/plugin/isBetween';\nimport { mergeSx } from 'merge-sx';\n\nimport { DayType, Shift } from '../../../graphql-sdk';\nimport { ACCESS_LIMIT_DAYS, MAX_RANGE_DAYS } from '../constants';\nimport DayTypeSelector from '../DayTypeSelector';\nimport PeriodList from '../PeriodList';\nimport type { DateRange, PeriodDefinition, PeriodId } from '../types';\n\nimport styles from './styles';\n\ndayjs.extend(isBetween);\n\ntype RangeDayProps = PickersDayProps & {\n fromDate: Dayjs;\n toDate: Dayjs;\n};\n\nconst RangeDay: React.FC<RangeDayProps> = ({ fromDate, toDate, day, ...other }) => {\n const dayDate = day as Dayjs;\n const isInRange = dayDate.isBetween(fromDate, toDate, 'day', '[]');\n const isStart = dayDate.isSame(fromDate, 'day');\n const isEnd = dayDate.isSame(toDate, 'day');\n const isSingleDay = isStart && isEnd;\n\n return (\n <Box\n sx={mergeSx(\n styles.rangeDay,\n isInRange && !isSingleDay && styles.rangeDayInRange,\n isStart && !isSingleDay && styles.rangeDayStart,\n isEnd && !isSingleDay && styles.rangeDayEnd,\n )}\n >\n <PickersDay day={day} {...other} />\n </Box>\n );\n};\n\nexport type DateRangePickerProps = {\n dateRange: DateRange;\n dayType: DayType;\n shifts: Shift[];\n selectedShiftIds: string[];\n hasAccess: boolean;\n selectedPeriodId?: PeriodId;\n onDayTypeChange: (dayType: DayType) => void;\n onDateRangeChange: (dateRange: DateRange) => void;\n onPeriodSelect: (period: PeriodDefinition, dateRange: DateRange) => void;\n onAccessDenied: () => void;\n};\n\ntype ActiveField = 'from' | 'to' | null;\n\nconst DateRangePicker: React.FC<DateRangePickerProps> = ({\n dateRange,\n dayType,\n shifts,\n selectedShiftIds,\n hasAccess,\n selectedPeriodId,\n onDayTypeChange,\n onDateRangeChange,\n onPeriodSelect,\n}) => {\n const { t, i18n } = useTranslation();\n const [activeField, setActiveField] = useState<ActiveField>('from');\n\n const fromDate = dayjs(dateRange.from);\n const toDate = dayjs(dateRange.to);\n const today = dayjs();\n const accessLimitDate = today.subtract(ACCESS_LIMIT_DAYS, 'day');\n const maxRangeDate = today.subtract(MAX_RANGE_DAYS, 'day');\n const minDate = hasAccess ? maxRangeDate : accessLimitDate;\n\n const handleCalendarChange = useCallback(\n (date: Dayjs | null) => {\n if (!date) return;\n\n const dateStr = date.format('YYYY-MM-DD');\n const newRange = { ...dateRange };\n\n if (activeField === 'from') {\n newRange.from = dateStr + 'T00:00:00';\n if (date.isAfter(dayjs(dateRange.to))) {\n newRange.to = dateStr + 'T23:59:59';\n }\n setActiveField('to');\n } else {\n newRange.to = dateStr + 'T23:59:59';\n if (date.isBefore(dayjs(dateRange.from))) {\n newRange.from = dateStr + 'T00:00:00';\n }\n }\n\n onDateRangeChange(newRange);\n },\n [activeField, dateRange, onDateRangeChange],\n );\n\n const handleFromClick = useCallback(() => {\n setActiveField('from');\n }, []);\n\n const handleToClick = useCallback(() => {\n setActiveField('to');\n }, []);\n\n const calendarValue = activeField === 'from' ? fromDate : toDate;\n\n const slotProps = useMemo(\n () => ({\n day: {\n fromDate,\n toDate,\n } as Partial<RangeDayProps>,\n }),\n [fromDate, toDate],\n );\n\n return (\n <LocalizationProvider dateAdapter={AdapterDayjs} adapterLocale={i18n.language}>\n <Box sx={styles.container}>\n <Box sx={styles.leftPanel}>\n <DayTypeSelector value={dayType} onChange={onDayTypeChange} />\n <PeriodList\n dayType={dayType}\n shifts={shifts}\n selectedShiftIds={selectedShiftIds}\n selectedPeriodId={selectedPeriodId}\n hasAccess={hasAccess}\n onPeriodSelect={onPeriodSelect}\n />\n </Box>\n\n <Box sx={styles.rightPanel}>\n <Box sx={styles.dateInputs}>\n <TextField\n label={t('dashboardFilters.dateRange.from')}\n value={fromDate.format('YYYY-MM-DD')}\n onClick={handleFromClick}\n focused={activeField === 'from'}\n InputProps={{ readOnly: true }}\n size=\"small\"\n sx={styles.dateField}\n data-testid=\"dashboard-filters.date-from\"\n />\n <TextField\n label={t('dashboardFilters.dateRange.to')}\n value={toDate.format('YYYY-MM-DD')}\n onClick={handleToClick}\n focused={activeField === 'to'}\n InputProps={{ readOnly: true }}\n size=\"small\"\n sx={styles.dateField}\n data-testid=\"dashboard-filters.date-to\"\n />\n </Box>\n\n <Box sx={styles.calendarContainer} data-testid=\"dashboard-filters.date-calendar\">\n <DateCalendar\n key={`${dateRange.from}-${dateRange.to}`}\n value={calendarValue}\n onChange={handleCalendarChange}\n minDate={minDate}\n maxDate={today}\n sx={styles.calendar}\n slots={{ day: RangeDay }}\n slotProps={slotProps}\n />\n </Box>\n </Box>\n </Box>\n </LocalizationProvider>\n );\n};\n\nexport default DateRangePicker;\n","import { SxProps, Theme } from '@mui/material/styles';\n\nconst styles: Record<string, SxProps<Theme>> = {\n container: {\n display: 'flex',\n alignItems: 'center',\n gap: (theme) => theme.spacing(1),\n },\n label: {\n fontSize: '0.875rem',\n opacity: 0.8,\n },\n select: {\n minWidth: 200,\n },\n menuItem: {\n padding: (theme) => theme.spacing(0.5, 1),\n },\n listItemText: {\n '& .MuiListItemText-primary': {\n fontSize: '0.875rem',\n },\n '& .MuiListItemText-secondary': {\n opacity: 0.7,\n fontSize: '0.75rem',\n color: (theme) => theme.palette.text.primary,\n },\n },\n};\n\nexport default styles;\n","import React, { useCallback } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport { Box, FormControl, InputLabel, ListItemText, MenuItem, Select, SelectChangeEvent } from '@mui/material';\nimport { Checkbox } from 'andoncloud-sdk';\n\nimport { Shift } from '../../../graphql-sdk';\nimport { getShiftTimeRange } from '../../../helpers/periods';\n\nimport styles from './styles';\n\nexport type ShiftSelectorProps = {\n shifts: Shift[];\n selectedShiftIds: string[];\n onChange: (shiftIds: string[]) => void;\n};\n\nconst ShiftSelector: React.FC<ShiftSelectorProps> = ({ shifts, selectedShiftIds, onChange }) => {\n const { t } = useTranslation();\n\n const handleChange = useCallback(\n (event: SelectChangeEvent<string[]>) => {\n const value = event.target.value;\n onChange(typeof value === 'string' ? value.split(',') : value);\n },\n [onChange],\n );\n\n const renderValue = useCallback(\n (selected: string[]) => {\n if (selected.length === 0) {\n return t('dashboardFilters.shifts.allShifts');\n }\n const selectedNames = shifts.filter((s) => selected.includes(s.id)).map((s) => s.name);\n return selectedNames.join(', ');\n },\n [shifts, t],\n );\n\n return (\n <Box sx={styles.container}>\n <FormControl size=\"small\" sx={styles.select} data-testid=\"dashboard-filters.shift-selector\">\n <InputLabel shrink>{t('dashboardFilters.shifts.label')}</InputLabel>\n <Select<string[]>\n multiple\n displayEmpty\n value={selectedShiftIds}\n onChange={handleChange}\n renderValue={renderValue}\n label={t('dashboardFilters.shifts.label')}\n >\n {shifts.map((shift) => (\n <MenuItem key={shift.id} value={shift.id} sx={styles.menuItem}>\n <Checkbox checked={selectedShiftIds.includes(shift.id)} />\n <ListItemText primary={shift.name} secondary={`(${getShiftTimeRange(shift)})`} sx={styles.listItemText} />\n </MenuItem>\n ))}\n </Select>\n </FormControl>\n </Box>\n );\n};\n\nexport default ShiftSelector;\n","import { useEffect, useMemo, useRef, useState } from 'react';\n\nimport { type Shift, DayType } from '../../graphql-sdk';\nimport { getNextBoundary, periods, resolveShiftIdForPeriod } from '../../helpers/periods';\n\nimport type { CalculateContext, DateRange, FilterValues, PeriodDefinition, PeriodId } from './types';\n\ntype CoreState = {\n dayType: DayType;\n selectedPeriodId?: PeriodId;\n customDateRange: DateRange | null;\n shiftIds: string[];\n};\n\nconst getDefaultDateRange = (): DateRange => {\n const today = new Date().toISOString().slice(0, 10);\n\n return { from: `${today}T00:00:00`, to: `${today}T23:59:59` };\n};\n\nconst buildCoreState = (values: FilterValues | undefined, shifts: Shift[]): CoreState => {\n if (!values) {\n const shiftId = shifts?.length ? resolveShiftIdForPeriod('current_shift', shifts) : null;\n\n return {\n dayType: DayType.Production,\n selectedPeriodId: 'current_shift',\n customDateRange: null,\n shiftIds: shiftId ? [shiftId] : [],\n };\n }\n\n const shiftId =\n values.selectedPeriodId && shifts?.length ? resolveShiftIdForPeriod(values.selectedPeriodId, shifts) : null;\n\n return {\n dayType: values.dayType,\n selectedPeriodId: values.selectedPeriodId,\n customDateRange: values.selectedPeriodId ? null : values.dateRange,\n shiftIds: shiftId ? [shiftId] : values.shiftIds,\n };\n};\n\nconst computeDateRange = (state: CoreState, shifts: Shift[]): DateRange => {\n if (!state.selectedPeriodId) return state.customDateRange ?? getDefaultDateRange();\n\n const period = periods.find((p) => p.id === state.selectedPeriodId);\n if (!period) return state.customDateRange ?? getDefaultDateRange();\n\n return period.calculate({\n dayType: state.dayType,\n shifts,\n selectedShiftIds: state.shiftIds,\n });\n};\n\nexport type DashboardFiltersHandlers = {\n handleDayTypeChange: (dayType: DayType) => void;\n handleShiftChange: (shiftIds: string[]) => void;\n handleDateRangeChange: (dateRange: DateRange) => void;\n handlePeriodSelect: (period: PeriodDefinition, dateRange: DateRange) => void;\n};\n\nexport const useDashboardFilters = (\n savedFilters: FilterValues | undefined,\n shifts: Shift[],\n onChange: (values: FilterValues) => void,\n): { filterValues: FilterValues; selectedPeriodId: PeriodId | undefined; handlers: DashboardFiltersHandlers } => {\n // -- Local state --\n const [state, setState] = useState<CoreState>(() => buildCoreState(savedFilters, shifts));\n const [boundaryTick, setBoundaryTick] = useState(0);\n const onChangeRef = useRef(onChange);\n onChangeRef.current = onChange;\n\n // -- Sync from saved filters --\n useEffect(() => {\n if (!savedFilters) return;\n\n setState((prev) => {\n const next = buildCoreState(savedFilters, shifts);\n\n return JSON.stringify(next) === JSON.stringify(prev) ? prev : next;\n });\n }, [savedFilters, shifts]);\n\n // -- Derived dateRange --\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const dateRange = useMemo(() => computeDateRange(state, shifts), [state, shifts, boundaryTick]);\n\n // -- Composed filter values --\n const filterValues: FilterValues = useMemo(\n () => ({\n dayType: state.dayType,\n selectedPeriodId: state.selectedPeriodId,\n dateRange,\n shiftIds: state.shiftIds,\n }),\n [state.dayType, state.selectedPeriodId, dateRange, state.shiftIds],\n );\n\n // -- Emit onChange on every filterValues change (includes initial) --\n const lastEmittedRef = useRef<string>('');\n\n useEffect(() => {\n const serialized = JSON.stringify(filterValues);\n if (serialized === lastEmittedRef.current) return;\n\n lastEmittedRef.current = serialized;\n onChangeRef.current(filterValues);\n }, [filterValues]);\n\n // -- Boundary detection --\n useEffect(() => {\n if (!state.selectedPeriodId) return;\n\n const ctx: CalculateContext = {\n dayType: state.dayType,\n shifts,\n selectedShiftIds: state.shiftIds,\n };\n\n const boundary = getNextBoundary(state.selectedPeriodId, ctx);\n if (!boundary) return;\n\n const delay = boundary.getTime() - Date.now();\n\n const recalculate = () => {\n const shiftId = resolveShiftIdForPeriod(state.selectedPeriodId!, shifts);\n const newShiftIds = shiftId ? [shiftId] : state.shiftIds;\n\n setState((prev) => ({ ...prev, shiftIds: newShiftIds }));\n setBoundaryTick((n) => n + 1);\n };\n\n if (delay <= 0) {\n recalculate();\n\n return;\n }\n\n const timer = setTimeout(recalculate, delay);\n\n return () => clearTimeout(timer);\n }, [state.selectedPeriodId, state.dayType, state.shiftIds, shifts]);\n\n // -- Handlers --\n const handlers: DashboardFiltersHandlers = useMemo(() => {\n return {\n handleDayTypeChange: (dayType: DayType) => {\n setState((prev) => ({ ...prev, dayType }));\n },\n\n handleShiftChange: (shiftIds: string[]) => {\n setState((prev) => ({ ...prev, shiftIds }));\n },\n\n handleDateRangeChange: (newDateRange: DateRange) => {\n setState((prev) => ({ ...prev, selectedPeriodId: undefined, shiftIds: [], customDateRange: newDateRange }));\n },\n\n handlePeriodSelect: (period: PeriodDefinition, periodDateRange: DateRange) => {\n setState((prev) => {\n const shiftId = resolveShiftIdForPeriod(period.id, shifts);\n const shiftIds = shiftId ? [shiftId] : [];\n\n return { ...prev, selectedPeriodId: period.id, shiftIds, customDateRange: periodDateRange };\n });\n },\n };\n }, [shifts]);\n\n return { filterValues, selectedPeriodId: state.selectedPeriodId, handlers };\n};\n","import { SxProps, Theme } from '@mui/material/styles';\n\nconst styles: Record<string, SxProps<Theme>> = {\n container: {\n display: 'flex',\n flexDirection: 'column',\n gap: (theme) => theme.spacing(2),\n },\n dateField: {\n cursor: 'pointer',\n minWidth: 240,\n '& .MuiInputBase-input': {\n cursor: 'pointer',\n },\n '& .MuiInputAdornment-root': {\n color: (theme) => theme.palette.text.primary,\n },\n },\n popover: {\n '& .MuiPopover-paper': {\n borderRadius: '6px',\n marginTop: (theme) => theme.spacing(1),\n backgroundColor: (theme) => theme.palette.gray.main,\n },\n },\n popoverContent: {\n display: 'flex',\n flexDirection: 'column',\n gap: (theme) => theme.spacing(2),\n padding: (theme) => theme.spacing(2),\n },\n};\n\nexport default styles;\n","import React, { useCallback, useMemo, useRef, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport CalendarTodayIcon from '@mui/icons-material/CalendarToday';\nimport { Box, InputAdornment, Popover, Stack, TextField } from '@mui/material';\nimport { registerTranslations, useAccess } from 'andoncloud-sdk';\nimport dayjs from 'dayjs';\n\nimport { resolveInitialValues } from '@/helpers/filters';\nimport locales from '@/locales';\n\nimport AccessDeniedModal from './AccessDeniedModal';\nimport DateRangePicker from './DateRangePicker';\nimport ShiftSelector from './ShiftSelector';\nimport type { DashboardFiltersProps, DateRange, PeriodDefinition } from './types';\nimport { useDashboardFilters } from './useDashboardFilters';\n\nimport styles from './styles';\n\nconst FEATURE_KEY = 'feature.dashboard_extended_date_ranges';\n\nconst DashboardFilters: React.FC<DashboardFiltersProps> = ({\n initialValues,\n onChange,\n shifts = [],\n onFeatureRequest,\n}) => {\n // -- SDK / framework hooks --\n const { hasAccess, accessState, buttons, cooldownInfo, features } = useAccess([FEATURE_KEY]);\n\n // -- Local state --\n const [accessModalOpen, setAccessModalOpen] = useState(false);\n const [popoverOpen, setPopoverOpen] = useState(false);\n const dateFieldRef = useRef<HTMLDivElement>(null);\n\n // -- Data layer --\n const { filterValues, selectedPeriodId, handlers } = useDashboardFilters(\n resolveInitialValues(initialValues),\n shifts,\n onChange,\n );\n\n // -- Translation --\n const { t } = useTranslation();\n registerTranslations(locales);\n\n // derived\n const daysSinceExpiry = useMemo(() => {\n const feature = features.find((f) => f.featureKey === FEATURE_KEY);\n\n return feature?.daysSinceExpiry ?? null;\n }, [features]);\n\n const filteredButtons = useMemo(() => buttons.filter((b) => b.action !== 'start_trial'), [buttons]);\n\n // handlers\n const handlePeriodSelect = useCallback(\n (period: PeriodDefinition, dateRange: DateRange) => {\n if (period.needAccess && !hasAccess) {\n setAccessModalOpen(true);\n\n return;\n }\n\n handlers.handlePeriodSelect(period, dateRange);\n },\n [hasAccess, handlers],\n );\n\n const handlePopoverOpen = useCallback(() => setPopoverOpen(true), []);\n const handlePopoverClose = useCallback(() => setPopoverOpen(false), []);\n const handleAccessModalClose = useCallback(() => setAccessModalOpen(false), []);\n const handleAccessDenied = useCallback(() => setAccessModalOpen(true), []);\n\n const formatDateRange = (range: DateRange) => {\n const from = dayjs(range.from).format('YYYY-MM-DD');\n const to = dayjs(range.to).format('YYYY-MM-DD');\n\n return from === to ? from : `${from} - ${to}`;\n };\n\n return (\n <Box sx={styles.container}>\n <Stack direction=\"row\" spacing={2} alignItems=\"center\">\n <TextField\n ref={dateFieldRef}\n label={t('dashboardFilters.dateRange.label')}\n value={formatDateRange(filterValues.dateRange)}\n onClick={handlePopoverOpen}\n size=\"small\"\n InputProps={{\n readOnly: true,\n startAdornment: (\n <InputAdornment position=\"start\">\n <CalendarTodayIcon sx={{ fontSize: 16 }} />\n </InputAdornment>\n ),\n }}\n sx={styles.dateField}\n data-testid=\"dashboard-filters.date-range-input\"\n />\n <ShiftSelector shifts={shifts} selectedShiftIds={filterValues.shiftIds} onChange={handlers.handleShiftChange} />\n </Stack>\n\n <Popover\n open={popoverOpen}\n anchorEl={dateFieldRef.current}\n onClose={handlePopoverClose}\n anchorOrigin={{ vertical: 'bottom', horizontal: 'left' }}\n transformOrigin={{ vertical: 'top', horizontal: 'left' }}\n sx={styles.popover}\n data-testid=\"dashboard-filters.date-popover\"\n >\n <Box sx={styles.popoverContent}>\n <DateRangePicker\n dateRange={filterValues.dateRange}\n dayType={filterValues.dayType}\n shifts={shifts}\n selectedShiftIds={filterValues.shiftIds}\n hasAccess={hasAccess}\n selectedPeriodId={selectedPeriodId}\n onDayTypeChange={handlers.handleDayTypeChange}\n onDateRangeChange={handlers.handleDateRangeChange}\n onPeriodSelect={handlePeriodSelect}\n onAccessDenied={handleAccessDenied}\n />\n </Box>\n </Popover>\n\n <AccessDeniedModal\n open={accessModalOpen}\n onClose={handleAccessModalClose}\n accessState={accessState}\n buttons={filteredButtons}\n daysSinceExpiry={daysSinceExpiry}\n cooldownInfo={cooldownInfo}\n onFeatureRequest={onFeatureRequest}\n />\n </Box>\n );\n};\n\nexport default DashboardFilters;\n","const bgPattern = `data:image/svg+xml,${encodeURIComponent(`<svg width=\"297\" height=\"403\" viewBox=\"0 0 297 403\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M938.46 -10H921.49L-10 921.49V938.46L938.46 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M904.52 -10H887.54L-10 887.54V904.52L904.52 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M870.58 -10H853.6L-10 853.6V870.58L870.58 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1006.34 -10H989.37L-10 989.37V1006.34L1006.34 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M972.4 -10H955.43L-10 955.43V972.4L972.4 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M836.63 -10H819.66L-10 819.66V836.63L836.63 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M768.75 -10H751.78L-10 751.78V768.75L768.75 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1040.28 -10H1023.31L-10 1023.31V1040.28L1040.28 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M802.69 -10H785.72L-10 785.72V802.69L802.69 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M734.81 -10H717.84L-10 717.84V734.81L734.81 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1447.57 -10H1430.6L350.6 1070H367.57L1447.57 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1379.69 -10H1362.72L282.72 1070H299.69L1379.69 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1311.81 -10H1294.84L214.84 1070H231.81L1311.81 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1345.75 -10H1328.78L248.78 1070H265.75L1345.75 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M700.87 -10H683.9L-10 683.9V700.87L700.87 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1413.63 -10H1396.66L316.66 1070H333.63L1413.63 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1142.1 -10H1125.13L45.13 1070H62.1L1142.1 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1108.16 -10H1091.19L11.19 1070H28.16L1108.16 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1176.04 -10H1159.07L79.07 1070H96.04L1176.04 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1243.93 -10H1226.96L146.96 1070H163.93L1243.93 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1209.99 -10H1193.02L113.02 1070H129.99L1209.99 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1277.87 -10H1260.9L180.9 1070H197.87L1277.87 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M429.34 -10H412.37L-10 412.37V429.34L429.34 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M157.81 -10H140.84L-10 140.84V157.81L157.81 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M191.75 -10H174.78L-10 174.78V191.75L191.75 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M123.87 -10H106.9L-10 106.9V123.87L123.87 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M225.69 -10H208.72L-10 208.72V225.69L225.69 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M259.63 -10H242.66L-10 242.66V259.63L259.63 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1057.25 -10L-10 1057.25V1070H-5.78L1074.22 -10H1057.25Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M293.57 -10H276.61L-10 276.61V293.57L293.57 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M22.05 -10H5.08L-10 5.08V22.05L22.05 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M55.99 -10H39.02L-10 39.02V55.99L55.99 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M89.93 -10H72.96L-10 72.96V89.93L89.93 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1481.52 -10H1464.54L384.54 1070H401.51L1481.52 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M565.1 -10H548.13L-10 548.13V565.1L565.1 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M497.22 -10H480.25L-10 480.25V497.22L497.22 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M327.52 -10H310.55L-10 310.55V327.52L327.52 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M632.99 -10H616.02L-10 616.02V632.99L632.99 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M599.04 -10H582.08L-10 582.08V599.04L599.04 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M531.16 -10H514.19L-10 514.19V531.16L531.16 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M463.28 -10H446.31L-10 446.31V463.28L463.28 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M361.46 -10H344.49L-10 344.49V361.46L361.46 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M395.4 -10H378.43L-10 378.43V395.4L395.4 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M666.93 -10H649.96L-10 649.96V666.93L666.93 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1910 410.04V393.07L1233.07 1070H1250.04L1910 410.04Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1910 342.16V325.19L1165.19 1070H1182.16L1910 342.16Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1910 579.75V562.78L1402.78 1070H1419.75L1910 579.75Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1910 613.69V596.72L1436.72 1070H1453.69L1910 613.69Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1910 681.57V664.6L1504.6 1070H1521.57L1910 681.57Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1910 647.63V630.66L1470.66 1070H1487.63L1910 647.63Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1910 376.1V359.13L1199.13 1070H1216.1L1910 376.1Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1910 443.98V427.01L1267.01 1070H1283.98L1910 443.98Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1910 511.87V494.9L1334.9 1070H1351.87L1910 511.87Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1910 715.51V698.54L1538.54 1070H1555.51L1910 715.51Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1910 477.93V460.95L1300.95 1070H1317.92L1910 477.93Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1910 545.81V528.84L1368.84 1070H1385.81L1910 545.81Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1910 953.1V936.13L1776.13 1070H1793.1L1910 953.1Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1910 919.16V902.19L1742.19 1070H1759.16L1910 919.16Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1910 987.04V970.07L1810.07 1070H1827.04L1910 987.04Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1910 749.45V732.48L1572.48 1070H1589.45L1910 749.45Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1910 1054.92V1037.95L1877.95 1070H1894.92L1910 1054.92Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1910 1020.98V1004.01L1844.01 1070H1860.98L1910 1020.98Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1910 783.39V766.42L1606.42 1070H1623.39L1910 783.39Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1910 817.34V800.37L1640.37 1070H1657.34L1910 817.34Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1910 851.28V834.31L1674.31 1070H1691.28L1910 851.28Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1910 885.22V868.25L1708.25 1070H1725.22L1910 885.22Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1910 308.22V291.25L1131.25 1070H1148.22L1910 308.22Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1719.1 -10H1702.13L622.13 1070H639.1L1719.1 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1753.04 -10H1736.07L656.07 1070H673.04L1753.04 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1820.93 -10H1803.96L723.96 1070H740.93L1820.93 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1786.98 -10H1770.01L690.01 1070H706.99L1786.98 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1854.87 -10H1837.9L757.9 1070H774.87L1854.87 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1685.16 -10H1668.19L588.19 1070H605.16L1685.16 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1583.34 -10H1566.37L486.37 1070H503.34L1583.34 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1549.4 -10H1532.43L452.43 1070H469.4L1549.4 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1651.22 -10H1634.25L554.25 1070H571.22L1651.22 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1617.28 -10H1600.31L520.31 1070H537.28L1617.28 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1910 36.69V19.72L859.72 1070H876.69L1910 36.69Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1910 206.4V189.43L1029.42 1070H1046.4L1910 206.4Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1910 172.46V155.48L995.48 1070H1012.46L1910 172.46Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1910 240.34V223.37L1063.37 1070H1080.34L1910 240.34Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1910 138.51V121.54L961.54 1070H978.51L1910 138.51Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1888.81 -10H1871.84L791.84 1070H808.81L1888.81 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1910 274.28V257.31L1097.31 1070H1114.28L1910 274.28Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1515.46 -10H1498.48L418.49 1070H435.46L1515.46 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1910 2.75V-10H1905.78L825.78 1070H842.75L1910 2.75Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1910 70.63V53.66L893.66 1070H910.63L1910 70.63Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1910 104.57V87.6L927.6 1070H944.57L1910 104.57Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n</svg>`)}`;\n\nexport default bgPattern;\n","import { lighten } from '@mui/material';\nimport { keyframes, SxProps, Theme } from '@mui/system';\n\nimport bgPattern from '../../assets/bg-pattern';\n\nconst CARD_TEXT_COLOR = '#090B0E';\n\ninterface StylesProps {\n card: {\n rounded?: boolean;\n };\n cardOverlay: {\n background: string;\n };\n showBgPattern: boolean;\n backgroundColor: string;\n animateBackgroundColor?: boolean;\n}\n\nexport const hexToRgba = (hex: string, alpha: number = 1): string => {\n const hexWithoutHash = hex.replace('#', '');\n const bigint = parseInt(hexWithoutHash, 16);\n\n const r = (bigint >> 16) & 255;\n const g = (bigint >> 8) & 255;\n const b = bigint & 255;\n\n return `rgba(${r}, ${g}, ${b}, ${alpha})`;\n};\n\nconst getPulseAnimation = (bgColor: string) => keyframes`\n 0% {\n background: ${hexToRgba(bgColor, 0.5)};\n }\n\n 50% {\n background: ${hexToRgba(bgColor, 1)};\n }\n\n 100% {\n background: ${hexToRgba(bgColor, 0.5)};\n }\n`;\n\nconst makeStyles = (props: StylesProps): Record<string, SxProps<Theme>> => ({\n card: {\n position: 'relative',\n width: '100%',\n height: '100%',\n ...(props.showBgPattern && {\n mixBlendMode: 'hard-light',\n background: `url(${bgPattern}), linear-gradient(329.66deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.75) 100%)`,\n backgroundSize: 'cover',\n }),\n ...(props.card.rounded\n ? {\n borderRadius: '4px',\n }\n : {\n borderTopLeftRadius: 0,\n borderTopRightRadius: 0,\n }),\n },\n cardOverlay: {\n position: 'absolute',\n top: 0,\n left: 0,\n width: '100%',\n height: '100%',\n zIndex: -1,\n ...(props.showBgPattern && {\n mixBlendMode: 'hard-light',\n }),\n ...(props.card.rounded\n ? {\n borderRadius: '4px',\n }\n : {\n borderTopLeftRadius: 0,\n borderTopRightRadius: 0,\n }),\n ...props.cardOverlay,\n animation: props.animateBackgroundColor ? `${getPulseAnimation(props.backgroundColor)} 3s infinite` : 'none',\n },\n cardHeader: {\n height: '3em',\n color: CARD_TEXT_COLOR,\n borderBottom: '1px solid rgba(0, 0, 0, 0.1)',\n background: 'rgba(0, 0, 0, 0.05)',\n '& span': {\n lineHeight: '3em',\n fontSize: '1em',\n fontWeight: 500,\n },\n },\n cardContent: {\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center',\n height: '80%',\n minWidth: 'auto',\n minHeight: 'auto',\n maxWidth: 'none',\n background: 'transparent',\n '& > img': {\n flexBasis: '25%',\n minWidth: '125px',\n maxWidth: '25%',\n },\n },\n cardLabel: {\n width: '100%',\n lineHeight: '2.5em',\n fontSize: '1.8em',\n fontWeight: 700,\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textAlign: 'center',\n textOverflow: 'ellipsis',\n color: CARD_TEXT_COLOR,\n },\n cardValue: {\n lineHeight: '1.2em',\n textAlign: 'center',\n fontSize: '1.6em',\n fontWeight: 700,\n color: lighten(CARD_TEXT_COLOR, 0.15),\n },\n cardExtra: {\n lineHeight: '4em',\n textAlign: 'center',\n fontSize: '1em',\n fontWeight: 600,\n color: CARD_TEXT_COLOR,\n },\n});\n\nexport default makeStyles;\n","import React from 'react';\nimport { Trans, useTranslation } from 'react-i18next';\nimport TextTruncate from 'react-text-truncate';\n\nimport { Box, Card, CardContent, CardHeader, CardProps, Typography } from '@mui/material';\nimport dayjs from 'dayjs';\nimport durationPlugin from 'dayjs/plugin/duration';\n\nimport { AndonLightColor, MetricValue } from '@/graphql-sdk';\n\nimport makeStyles from './styles';\n\ndayjs.extend(durationPlugin);\n\ninterface MetricCardProps extends CardProps {\n title: string;\n metricLabel: React.ReactNode;\n metricValue?: MetricValue;\n progressValue?: MetricValue;\n extraValue?: React.ReactNode;\n animateBackgroundColor?: boolean;\n rounded?: boolean;\n}\n\nconst MetricCard: React.FC<MetricCardProps> = ({\n title,\n metricLabel,\n metricValue,\n extraValue,\n animateBackgroundColor,\n rounded,\n ...props\n}) => {\n const { t } = useTranslation();\n const formatValue = (metricValue: MetricValue) => {\n const value = metricValue.textValue;\n\n if (value) {\n const duration = dayjs.duration(Number(value), 'seconds');\n const minutes = Math.floor(duration.asMinutes());\n const seconds = duration.seconds();\n return `${minutes}m ${seconds}s`;\n }\n return '';\n };\n const getBackgroundColor = () => {\n const statusColor = metricValue?.statusColor;\n\n if (statusColor) {\n switch (statusColor) {\n case AndonLightColor.Green:\n return '#32D74B';\n case AndonLightColor.Yellow:\n return '#FFC12F';\n case AndonLightColor.Red:\n return '#FF3B2F';\n default:\n return '#BBBBBBBF';\n }\n }\n return '#FFFFFFBF';\n };\n const getBackground = () => {\n const statusColor = metricValue?.statusColor;\n\n if (statusColor) {\n switch (statusColor) {\n case AndonLightColor.Green:\n return 'linear-gradient(180deg, #31BF59 0%, #32D74B 100%)';\n case AndonLightColor.Yellow:\n return 'linear-gradient(360deg, #FFD60A 0%, #FFC12F 100%)';\n case AndonLightColor.Red:\n return 'linear-gradient(0deg, #F05C53 0%, #FF3B2F 100%)';\n default:\n return 'rgba(187, 187, 187, 0.75)';\n }\n }\n return 'rgba(255, 255, 255, 0.75)';\n };\n const styles = makeStyles({\n card: { rounded },\n cardOverlay: { background: getBackground() },\n showBgPattern: true,\n backgroundColor: getBackgroundColor(),\n animateBackgroundColor,\n });\n\n return (\n <Card sx={styles.card} {...props}>\n <Box sx={styles.cardOverlay} />\n <CardHeader title={<TextTruncate line={1} text={title} />} sx={styles.cardHeader} />\n <CardContent sx={styles.cardContent}>\n <Typography sx={styles.cardLabel}>{metricLabel}</Typography>\n <Typography sx={styles.cardValue}>\n {metricValue ? formatValue(metricValue) : <Trans t={t}>No value for the selected metric</Trans>}\n </Typography>\n {extraValue && <Typography sx={styles.cardExtra}>{extraValue}</Typography>}\n </CardContent>\n </Card>\n );\n};\n\nexport default MetricCard;\n","import React, { MouseEventHandler } from 'react';\nimport Select, {\n components,\n MultiValue,\n MultiValueGenericProps,\n MultiValueProps,\n OnChangeValue,\n Options,\n} from 'react-select';\n\nimport { DndContext, DragEndEvent } from '@dnd-kit/core';\nimport { SortableContext, useSortable } from '@dnd-kit/sortable';\nimport { CSS } from '@dnd-kit/utilities';\nimport { arrayMoveImmutable } from 'array-move';\n\nexport interface Option {\n label: string;\n value: string;\n}\n\ninterface SortableSelectProps {\n placeholder: string;\n options: Options<Option>;\n selected: Array<Option['value']>;\n onChange: (selected: OnChangeValue<Option['value'], true>) => void;\n}\n\nconst SortableMultiValueContainer = (props: MultiValueProps<Option>) => {\n const { attributes, listeners, setNodeRef, transform, transition } = useSortable({ id: props.data.value });\n\n const style = {\n display: 'flex',\n transform: CSS.Transform.toString(transform),\n transition,\n };\n\n return (\n <div\n ref={setNodeRef}\n style={style}\n {...attributes}\n {...listeners}\n onPointerDown={(e) => {\n if (!(e.target instanceof HTMLElement)) return;\n\n // Stop drag event when clicking on remove button\n if (['svg', 'path'].includes(e.target.nodeName)) {\n e.preventDefault();\n e.stopPropagation();\n }\n listeners?.onPointerDown(e);\n }}\n >\n <components.MultiValueContainer {...props} />\n </div>\n );\n};\n\nconst SortableMultiValueLabel = (props: MultiValueGenericProps) => {\n const onMouseDown: MouseEventHandler<HTMLDivElement> = (e) => {\n e.preventDefault();\n e.stopPropagation();\n };\n const style = {\n cursor: 'grab',\n };\n const innerProps = { ...props.innerProps, style, onMouseDown };\n\n return <components.MultiValueLabel {...props} innerProps={innerProps} />;\n};\n\nconst SortableSelect: React.FC<SortableSelectProps> = ({ placeholder, options, selected, onChange }) => {\n const onSortEnd = (event: DragEndEvent) => {\n const { active, over } = event;\n\n if (active.id !== over?.id) {\n const oldIndex = selected.findIndex((opt) => opt === active.id);\n const newIndex = selected.findIndex((opt) => opt === over?.id);\n\n onChange(arrayMoveImmutable(selected, oldIndex, newIndex));\n }\n };\n\n return (\n <Select\n placeholder={placeholder}\n isMulti\n options={options}\n value={selected.map((value) => options.find((option) => option.value === value))}\n onChange={(selected) => onChange([...((selected as MultiValue<Option>) || [])].map((item: Option) => item.value))}\n closeMenuOnSelect={false}\n components={{\n MultiValueContainer: SortableMultiValueContainer,\n MultiValueLabel: SortableMultiValueLabel,\n ValueContainer: (props) => (\n <DndContext onDragEnd={onSortEnd}>\n <SortableContext items={selected}>{props.children}</SortableContext>\n </DndContext>\n ),\n }}\n styles={{\n control: (baseStyles, state) => ({\n ...baseStyles,\n padding: '6px 0 6px 8px',\n borderColor: 'rgba(255, 255, 255, 0.15)',\n background: '#1C1F25',\n ...(state.isFocused && {\n borderColor: '#4E5A67',\n boxShadow: 'none',\n }),\n '&:hover': {\n borderColor: '#4E5A67',\n boxShadow: 'none',\n },\n }),\n menu: (baseStyles) => ({\n ...baseStyles,\n background: '#1C1F25',\n }),\n option: (baseStyles, state) => ({\n ...baseStyles,\n background: state.isFocused ? '#2A2E34' : '#1C1F25',\n }),\n }}\n />\n );\n};\n\nexport default SortableSelect;\n","import React from 'react';\n\nconst DragIcon: React.FC<React.SVGProps<SVGSVGElement>> = (props) => (\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path\n d=\"M2.46147 10.5737C2.99531 11.0586 3.63181 10.6829 3.63181 10.0478V8.74325H7.26604V12.3699H5.94512C5.30862 12.3699 4.93904 13.0119 5.41813 13.5378L7.42345 15.7234C7.75197 16.0922 8.25159 16.0922 8.58011 15.7234L10.5786 13.5447C11.0645 13.0119 10.6949 12.3699 10.0516 12.3699H8.74437V8.74325H12.3649V10.0478C12.3649 10.6829 13.0083 11.0586 13.5421 10.5737L15.7254 8.57933C16.095 8.24467 16.0881 7.74609 15.7254 7.42508L13.5353 5.42393C13.0083 4.94584 12.3649 5.31465 12.3649 5.94983V7.26117H8.74437V3.62767H10.0516C10.6949 3.62767 11.0645 2.98566 10.5786 2.45293L8.57327 0.267369C8.23791 -0.101445 7.73828 -0.0809553 7.41661 0.281028L5.41813 2.46659C4.93904 2.98566 5.30862 3.62767 5.94512 3.62767H7.26604V7.26117H3.63181V5.94983C3.63181 5.31465 2.98846 4.94584 2.46831 5.42393L0.278192 7.41825C-0.0777021 7.73926 -0.105079 8.23784 0.271348 8.5725L2.46147 10.5737Z\"\n fill=\"white\"\n />\n </svg>\n);\n\nexport default DragIcon;\n","import ActionCable from 'actioncable';\nimport { ExecutionResult } from 'graphql/execution/execute';\nimport isEmpty from 'lodash.isempty';\nimport { Observable } from 'rxjs';\nimport { OperationOptions } from 'subscriptions-transport-ws';\n\ntype DisconnectCallback = () => void;\n\nconst CHANNEL_ID_RANGE = 100_000;\n\nclass ActionCableClient {\n private wsURL: string;\n\n private cable: ActionCable.Cable | null = null;\n\n private subscriptions: Map<string, ActionCable.Channel> = new Map<string, ActionCable.Channel>();\n\n private onDisconnect?: DisconnectCallback;\n\n constructor(url: string, onDisconnect?: DisconnectCallback) {\n this.wsURL = url;\n this.onDisconnect = onDisconnect;\n }\n\n private addSubscription = (id: string, subscription: ActionCable.Channel) => {\n this.subscriptions.set(id, subscription);\n };\n\n public connect(token: string, lang: string): void {\n this.cable = ActionCable.createConsumer(`${this.wsURL}?token=${token}&lang=${lang}`);\n }\n\n public disconnect(): void {\n if (!this.cable) return;\n\n this.subscriptions.forEach((channel) => {\n channel.unsubscribe();\n });\n this.subscriptions.clear();\n\n this.cable.disconnect();\n this.cable = null;\n }\n\n public request(request: OperationOptions): Observable<ExecutionResult> {\n const { cable, subscriptions, addSubscription, onDisconnect } = this;\n\n return new Observable((observer) => {\n if (cable) {\n const subscriptionId = (request.variables as Record<string, string>)?.id || 'company';\n\n if (!subscriptions.has(subscriptionId)) {\n const channel = cable.subscriptions.create(\n {\n channel: 'GraphqlChannel',\n channelId: Math.round(Date.now() + Math.random() * CHANNEL_ID_RANGE).toString(16),\n },\n {\n connected() {\n this.perform('execute', request);\n },\n disconnected() {\n if (onDisconnect) onDisconnect();\n },\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n received(payload: any) {\n if (!payload.more) {\n if (observer.complete) {\n observer.complete();\n }\n } else if (payload.result.errors) {\n if (observer.error) {\n observer.error(payload.result.errors[0]);\n }\n } else if (payload.result.data) {\n if (observer.next) {\n if (!isEmpty(payload.result.data)) {\n observer.next(payload.result);\n }\n }\n }\n },\n },\n );\n addSubscription(subscriptionId, channel);\n }\n }\n });\n }\n\n public hasSubscription(id: string): boolean {\n return this.subscriptions.has(id);\n }\n}\n\nexport default ActionCableClient;\n","import { OperationOptions } from 'subscriptions-transport-ws';\n\nimport ActionCableClient from './actioncable-client';\n\ninterface ObjMap<T> {\n [key: string]: T;\n}\n\ninterface SubscriptionEntry<T = unknown> {\n query: OperationOptions['query'];\n variables?: OperationOptions['variables'];\n onData?: (item: T) => void;\n onError: (error: Error) => void;\n}\n\nlet nextSubscriptionId = 0;\n\nclass GraphqlWsClient {\n private actionCableClient: ActionCableClient | null = null;\n\n private registry: Map<string, SubscriptionEntry> = new Map();\n\n private activeRxSubscriptions: Map<string, { unsubscribe: () => void }> = new Map();\n\n constructor(url: string, token: string, lang: string, onDisconnect?: () => void) {\n this.actionCableClient = new ActionCableClient(url, onDisconnect);\n this.actionCableClient.connect(token, lang);\n }\n\n public subscribe<T = unknown>(\n query: OperationOptions['query'],\n variables?: OperationOptions['variables'],\n onData?: (item: T) => void,\n onError: (error: Error) => void = (error) => {\n throw error;\n },\n ) {\n const key = String(++nextSubscriptionId);\n\n this.registry.set(key, {\n query,\n variables,\n onData: onData as ((item: unknown) => void) | undefined,\n onError,\n });\n\n const rxSub = this.subscribeToActionCable<T>(query, variables, onData, onError);\n this.activeRxSubscriptions.set(key, rxSub);\n\n return () => {\n rxSub.unsubscribe();\n this.activeRxSubscriptions.delete(key);\n this.registry.delete(key);\n };\n }\n\n public disconnect(): void {\n this.activeRxSubscriptions.forEach((sub) => sub.unsubscribe());\n this.activeRxSubscriptions.clear();\n this.registry.clear();\n\n this.actionCableClient?.disconnect();\n this.actionCableClient = null;\n }\n\n public getActiveSubscriptions(): Map<string, SubscriptionEntry> {\n return new Map(this.registry);\n }\n\n public resubscribe(): void {\n this.activeRxSubscriptions.forEach((sub) => sub.unsubscribe());\n this.activeRxSubscriptions.clear();\n\n this.registry.forEach((entry, key) => {\n const rxSub = this.subscribeToActionCable(entry.query, entry.variables, entry.onData, entry.onError);\n this.activeRxSubscriptions.set(key, rxSub);\n });\n }\n\n private subscribeToActionCable<T = unknown>(\n query: OperationOptions['query'],\n variables: OperationOptions['variables'],\n onData?: (item: T) => void,\n onError: (error: Error) => void = (error) => {\n throw error;\n },\n ) {\n const getFirstValue = (data: ObjMap<unknown>): T => {\n const keys = Object.keys(data);\n\n if (keys.length !== 1) throw new Error(`Expected exactly one response key, got: ${keys.join(', ')}`);\n\n return data[keys[0]] as T;\n };\n\n if (!this.actionCableClient) throw new Error('No WS client available');\n\n const subscription = this.actionCableClient.request({ query, variables }).subscribe({\n next({ data, errors }) {\n if (errors) {\n return onError(new Error(JSON.stringify(errors)));\n }\n if (data && onData) onData(getFirstValue(data));\n },\n });\n\n return subscription;\n }\n}\n\nexport default GraphqlWsClient;\nexport type { SubscriptionEntry };\n","import GraphqlWsClient from './utils/graphql-ws-client';\n\nexport const getGqlWsClient = (url: string, token: string, lang: string, onDisconnect?: () => void) => {\n return new GraphqlWsClient(url, token, lang, onDisconnect);\n};\n","import { GraphQLClient } from 'graphql-request';\n\nimport { getSdk } from '../graphql-sdk';\n\nexport const getGraphqlSdk = (url: string, fetch: typeof global.fetch) => {\n const graphqlClient = new GraphQLClient(url, { fetch });\n\n return getSdk(graphqlClient);\n};\n","import { useEffect, useRef, useState } from 'react';\n\nimport { fetch, useStore } from 'andoncloud-sdk';\n\nimport { Sdk } from '../graphql-sdk';\nimport { getGqlWsClient } from '../graphql-ws';\nimport { getGraphqlSdk } from '../helpers/sdk';\nimport { GqlClients } from '../types';\nimport GraphqlWsClient from '../utils/graphql-ws-client';\n\ninterface ClientsProps {\n url: string;\n wsUrl?: string;\n lang: 'pl' | 'en';\n}\n\nconst useGqlClients = ({ url, wsUrl: gqlWsUrl, lang }: ClientsProps): GqlClients => {\n // -- SDK / framework hooks --\n const { sessionStore } = useStore();\n\n // -- Local state --\n const [graphqlSdk, setGraphqlSdk] = useState<Sdk>();\n const [gqlWsClient, setGqlWsClient] = useState<GraphqlWsClient>();\n const wsClientRef = useRef<GraphqlWsClient | undefined>(undefined);\n const previousTokenRef = useRef<string>('');\n\n // -- Data layer --\n const wsUrl = gqlWsUrl || url.replace('graphql', 'cable');\n const token = sessionStore.loginStatus.authResponse?.accessToken || '';\n\n useEffect(() => {\n if (url) {\n setGraphqlSdk(getGraphqlSdk(url, fetch));\n }\n }, [url]);\n\n useEffect(() => {\n if (!url || !token) return;\n\n if (token === previousTokenRef.current) return;\n previousTokenRef.current = token;\n\n const previousClient = wsClientRef.current;\n const activeSubscriptions = previousClient?.getActiveSubscriptions();\n\n const onDisconnect = () => {\n const status = sessionStore.loginStatus.status;\n\n if (status === 'connected') {\n console.warn('[dashboard-toolkit] WebSocket disconnected unexpectedly — waiting for token refresh');\n }\n };\n\n const newClient = getGqlWsClient(wsUrl, token, lang, onDisconnect);\n wsClientRef.current = newClient;\n\n if (activeSubscriptions && activeSubscriptions.size > 0) {\n activeSubscriptions.forEach((entry) => {\n newClient.subscribe(entry.query, entry.variables, entry.onData, entry.onError);\n });\n }\n\n setGqlWsClient(newClient);\n\n if (previousClient) {\n previousClient.disconnect();\n }\n\n return () => {\n newClient.disconnect();\n wsClientRef.current = undefined;\n };\n }, [url, wsUrl, token, lang]);\n\n return { graphqlSdk, gqlWsClient };\n};\n\nexport default useGqlClients;\n","import { SxProps, Theme } from '@mui/material/styles';\n\nexport const container: SxProps<Theme> = {\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center',\n height: '100%',\n gap: (theme) => theme.spacing(2),\n padding: (theme) => theme.spacing(2),\n};\n","import React from 'react';\nimport { ErrorBoundary, FallbackProps } from 'react-error-boundary';\nimport { useTranslation } from 'react-i18next';\n\nimport { Box, Button, Typography } from '@mui/material';\n\nimport * as styles from './errorBoundaryStyles';\n\nconst ErrorFallback: React.FC<FallbackProps> = ({ resetErrorBoundary }) => {\n // -- Translation --\n const { t } = useTranslation();\n\n return (\n <Box sx={styles.container}>\n <Typography variant=\"body2\" color=\"text.secondary\">\n {t('widgetCard.error')}\n </Typography>\n\n <Button variant=\"outlined\" size=\"small\" onClick={resetErrorBoundary} data-testid=\"widget-card.error-retry\">\n {t('widgetCard.retry')}\n </Button>\n </Box>\n );\n};\n\nconst handleError = (error: Error, info: React.ErrorInfo) => {\n console.error('[dashboard-toolkit] Widget error:', error, info);\n};\n\ninterface WidgetErrorBoundaryProps {\n children: React.ReactNode;\n}\n\nconst WidgetErrorBoundary: React.FC<WidgetErrorBoundaryProps> = ({ children }) => {\n return (\n <ErrorBoundary FallbackComponent={ErrorFallback} onError={handleError}>\n {children}\n </ErrorBoundary>\n );\n};\n\nexport { WidgetErrorBoundary };\n","const resizeIcon = `data:image/svg+xml,${encodeURIComponent(`<svg width=\"8\" height=\"8\" viewBox=\"0 0 8 8\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M0.602543 3.50035C0.853628 3.50035 1.04095 3.3172 1.04095 3.0624V2.77972L0.95725 1.54551L1.87789 2.51297L3.01774 3.6596C3.10143 3.74719 3.20904 3.787 3.32462 3.787C3.59563 3.787 3.79092 3.60386 3.79092 3.33313C3.79092 3.20971 3.74309 3.10221 3.6594 3.01462L2.51557 1.87198L1.54311 0.956271L2.78658 1.03988H3.09745C3.34853 1.03988 3.53983 0.856738 3.53983 0.601932C3.53983 0.347127 3.35252 0.160004 3.09745 0.160004H0.885512C0.427183 0.160004 0.160156 0.426753 0.160156 0.884607V3.0624C0.160156 3.31322 0.347473 3.50035 0.602543 3.50035ZM4.90287 7.84H7.1148C7.57313 7.84 7.84016 7.57325 7.84016 7.1154V4.93761C7.84016 4.68678 7.64885 4.49966 7.39777 4.49966C7.14668 4.49966 6.95937 4.6828 6.95937 4.93761V5.22028L7.04306 6.4545L6.12242 5.48703L4.98257 4.34041C4.89888 4.25282 4.79127 4.21301 4.67171 4.21301C4.4007 4.21301 4.20541 4.39615 4.20541 4.66688C4.20541 4.7903 4.25323 4.90178 4.34091 4.98538L5.48474 6.12803L6.4572 7.04374L5.21373 6.96013H4.90287C4.6478 6.96013 4.46048 7.14327 4.46048 7.39808C4.46048 7.65288 4.6478 7.84 4.90287 7.84Z\" fill=\"white\"/>\n</svg>`)}`;\n\nexport default resizeIcon;\n","import { SxProps, Theme } from '@mui/material/styles';\n\nimport resizeIcon from '../../assets/resize-icon';\n\nconst reducedMotion = '@media (prefers-reduced-motion: reduce)';\n\nconst styles: Record<string, SxProps<Theme>> = {\n root: {\n boxShadow: 'none',\n '& .react-resizable-handle': {\n width: '24px',\n height: '24px',\n borderRadius: '4px',\n background: (theme) => `${theme.palette.primary.main} url(${resizeIcon})`,\n backgroundRepeat: 'no-repeat',\n backgroundSize: '50%',\n backgroundPosition: '50%',\n '&:hover': {\n backgroundColor: (theme) => theme.palette.primary.dark,\n },\n },\n '& .react-resizable-handle:after': {\n display: 'none',\n },\n },\n header: {\n position: 'relative',\n overflow: 'hidden',\n height: '40px',\n '& .MuiCardHeader-avatar': {\n marginLeft: (theme) => `-${theme.spacing(1)}`,\n },\n '& .MuiCardHeader-content': {\n transition: 'margin 450ms ease',\n overflow: 'hidden',\n minWidth: 0,\n },\n },\n headerPreview: {\n background: 'transparent',\n '& .MuiCardHeader-content': {\n zIndex: 1,\n marginLeft: (theme) => theme.spacing(-5),\n marginRight: (theme) => theme.spacing(-28),\n },\n },\n title: {\n display: 'block',\n overflow: 'hidden',\n color: (theme) => theme.palette.common.white,\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis',\n },\n titlePreview: {\n color: (theme) => theme.palette.text.primary,\n },\n controls: {\n position: 'relative',\n display: 'flex',\n alignItems: 'center',\n opacity: 1,\n visibility: 'visible' as const,\n transform: 'translateX(0)',\n transition: 'opacity 450ms ease, visibility 450ms, transform 450ms ease',\n zIndex: 1,\n [reducedMotion]: {\n transitionDuration: '0s',\n },\n },\n controlsHiddenLeft: {\n opacity: 0,\n visibility: 'hidden' as const,\n transform: 'translateX(-100%)',\n },\n controlsHiddenRight: {\n opacity: 0,\n visibility: 'hidden' as const,\n transform: 'translateX(100%)',\n },\n dragIcon: {\n width: '30px',\n height: '30px',\n padding: '8px',\n borderRadius: '4px',\n background: (theme) => theme.palette.primary.main,\n '&:hover': {\n cursor: 'move',\n background: (theme) => theme.palette.primary.dark,\n },\n },\n actionButtons: {\n height: '30px',\n marginTop: '-7px',\n },\n settingsButton: {\n color: 'rgba(255, 255, 255, 0.45)',\n borderRadius: '4px',\n borderTopRightRadius: 0,\n borderBottomRightRadius: 0,\n borderColor: 'rgba(255,255,255,0.1)',\n background: 'rgba(255,255,255,0.1)',\n '&:focus': {\n boxShadow: '0 0 0 1px rgba(255, 255, 255, 0.1)',\n },\n '&:hover': {\n opacity: 0.8,\n },\n },\n infoButton: {\n marginLeft: '1px',\n color: 'rgba(255, 255, 255, 0.45)',\n borderRadius: 0,\n borderColor: 'rgba(255,255,255,0.1)',\n background: 'rgba(255,255,255,0.1)',\n '&:focus': {\n boxShadow: '0 0 0 1px rgba(255, 255, 255, 0.1)',\n },\n '&:hover': {\n opacity: 0.8,\n },\n },\n deleteButton: {\n marginLeft: '1px',\n color: 'rgba(255, 255, 255, 0.45)',\n borderRadius: '4px',\n borderTopLeftRadius: 0,\n borderBottomLeftRadius: 0,\n borderColor: 'rgba(255,255,255,0.1)',\n background: 'rgba(255,255,255,0.1)',\n '&:focus': {\n boxShadow: '0 0 0 1px rgba(255, 255, 255, 0.1)',\n },\n '&:hover': {\n opacity: 0.8,\n },\n },\n content: {\n position: 'relative',\n height: 'calc(100% - 40px)',\n padding: 0,\n background: 'transparent',\n border: '1px solid rgba(255, 255, 255, 0.2)',\n borderTop: 'none',\n borderRadius: '4px',\n boxShadow: '0px 4px 8px rgba(0, 0, 0, 0.25)',\n '&::before': {\n content: '\"\"',\n position: 'absolute',\n top: 0,\n left: 0,\n display: 'block',\n width: '100%',\n height: '1px',\n transform: 'scaleX(0)',\n transformOrigin: 'left',\n transition: 'transform 150ms ease',\n backgroundColor: 'rgba(255, 255, 255, 0.2)',\n [reducedMotion]: {\n transitionDuration: '0s',\n },\n },\n '&:last-child': {\n paddingBottom: 0,\n },\n },\n contentPreview: {\n '&::before': {\n transform: 'scaleX(1)',\n },\n },\n};\n\nexport { styles };\n","import React, { useCallback, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport { Delete, Info, Settings } from '@mui/icons-material';\nimport { LoadingButton } from '@mui/lab';\nimport { Box, Button, Card, CardContent, CardHeader, Stack, SvgIcon, Tooltip, Typography } from '@mui/material';\nimport { AccessGuard, refreshUserData, registerTranslations, useAccess } from 'andoncloud-sdk';\nimport { mergeSx } from 'merge-sx';\n\nimport { AccessRequestTypeEnum } from '@/graphql-sdk';\nimport locales from '@/locales';\nimport { BaseWidgetData, BaseWidgetSettings, WidgetCardProps as BaseWidgetCardProps } from '@/types';\n\nimport DragIcon from '../../assets/DragIcon';\nimport useGqlClients from '../../hooks/useGqlClients';\nimport ConfirmTooltip from '../ConfirmTooltip';\n\nimport { WidgetErrorBoundary } from './ErrorBoundary';\n\nimport { styles } from './styles';\n\ntype WidgetCardProps = Omit<BaseWidgetCardProps, 'ref'> & { ref?: React.LegacyRef<HTMLDivElement> };\n\nconst WidgetCard: React.FC<WidgetCardProps> = React.forwardRef(\n (\n {\n children,\n title,\n Widget,\n id,\n getTitle,\n thumbnail,\n url,\n wsUrl,\n lang,\n filters,\n openSettingsModal,\n onSettingsModalOpened,\n onSettingsModalClosed,\n onLocalesRegistered,\n sidePanelOpened,\n updateSidePanelProps,\n onDelete,\n editMode,\n version,\n requiredFeatures,\n extraPermissions,\n ...cardProps\n },\n ref,\n ) => {\n // -- SDK / framework hooks --\n const { graphqlSdk } = useGqlClients({ url, wsUrl, lang });\n const { hasAccess } = useAccess(requiredFeatures, { extraPermissions });\n\n // -- Local state --\n const [widgetData, setWidgetData] = useState<BaseWidgetData | undefined>();\n const [widgetSettings, setWidgetSettings] = useState<BaseWidgetSettings | undefined>();\n const [localesReady, setLocalesReady] = useState(false);\n const [deleteInProgress, setDeleteInProgress] = useState<boolean>(false);\n const [removeTooltipOpened, setRemoveTooltipOpened] = useState<boolean>(false);\n\n // -- Data layer --\n const handleDataChange = useCallback((newData: BaseWidgetData) => {\n setWidgetData(newData);\n }, []);\n\n const handleSettingsChange = useCallback((newSettings: BaseWidgetSettings) => {\n setWidgetSettings(newSettings);\n }, []);\n\n // -- Translation --\n const { t } = useTranslation();\n\n registerTranslations(locales);\n\n // --- Title resolution ---\n\n const resolvePreviewTitle = useCallback((): string => {\n const trimmed = widgetSettings?.customTitle?.trim();\n if (trimmed) return trimmed;\n\n if (getTitle) {\n try {\n const result = getTitle(widgetData, widgetSettings, filters, lang);\n if (result) return result;\n } catch {\n // silent fallback\n }\n }\n\n return title as string;\n }, [widgetData, widgetSettings, filters, lang, getTitle, title, localesReady]);\n\n const previewTitle = resolvePreviewTitle();\n\n // --- Handlers ---\n\n const handleOpenSettingsModal = () => {\n if (onSettingsModalOpened) onSettingsModalOpened();\n };\n\n const handleDelete = async () => {\n setDeleteInProgress(true);\n setRemoveTooltipOpened(false);\n\n if (onDelete) await onDelete();\n\n setDeleteInProgress(false);\n };\n\n const handleTrialRequest = async (featureKey: string): Promise<boolean> => {\n try {\n await graphqlSdk?.startTrial({ input: { featureKey } });\n await refreshUserData();\n return true;\n } catch (error) {\n console.error('Failed to start trial:', error);\n return false;\n }\n };\n\n const handleFeatureRequest = async ({\n featureKey,\n requestType,\n workplaceId,\n }: {\n featureKey: string;\n requestType: string;\n workplaceId?: string;\n }): Promise<boolean> => {\n try {\n await graphqlSdk?.requestFeatureAccess({\n input: { featureKey, requestType: requestType.toUpperCase() as AccessRequestTypeEnum, workplaceId },\n });\n await refreshUserData();\n return true;\n } catch (error) {\n console.error('Failed to request feature access:', error);\n return false;\n }\n };\n\n // --- Render helpers ---\n\n const renderDragHandle = () => {\n return <SvgIcon component={DragIcon} className=\"draggable-handle\" sx={styles.dragIcon} inheritViewBox />;\n };\n\n const renderActionButtons = () => {\n return (\n <Stack direction=\"row\" sx={styles.actionButtons}>\n <Button\n color=\"secondary\"\n sx={styles.settingsButton}\n onClick={handleOpenSettingsModal}\n disabled={!hasAccess}\n data-testid=\"widget-card.settings-button\"\n >\n <Settings />\n </Button>\n {version && (\n <React.Fragment>\n <Tooltip title={version}>\n <Button color=\"secondary\" sx={styles.infoButton} data-testid=\"widget-card.info-button\">\n <Info />\n </Button>\n </Tooltip>\n </React.Fragment>\n )}\n <ConfirmTooltip\n open={removeTooltipOpened}\n confirmMessage={t('Are you sure you want to delete this widget?')}\n confirmButtonText={t('Delete')}\n cancelButtonText={t('Cancel')}\n onCancel={() => setRemoveTooltipOpened(false)}\n onConfirm={handleDelete}\n confirmButtonTestId=\"widget-card.delete-confirm\"\n cancelButtonTestId=\"widget-card.delete-cancel\"\n >\n <LoadingButton\n color=\"secondary\"\n sx={styles.deleteButton}\n onClick={(e) => {\n e.stopPropagation();\n\n setRemoveTooltipOpened(true);\n }}\n loading={deleteInProgress}\n data-testid=\"widget-card.delete-button\"\n >\n <Delete />\n </LoadingButton>\n </ConfirmTooltip>\n </Stack>\n );\n };\n\n return (\n <Card ref={ref} sx={styles.root} {...cardProps}>\n <CardHeader\n avatar={<Box sx={mergeSx(styles.controls, !editMode && styles.controlsHiddenLeft)}>{renderDragHandle()}</Box>}\n title={\n <Typography\n variant=\"subtitle1\"\n sx={mergeSx(styles.title, !editMode && styles.titlePreview)}\n data-testid=\"widget-card.title\"\n >\n {editMode ? title : previewTitle}\n </Typography>\n }\n action={\n <Box sx={mergeSx(styles.controls, !editMode && styles.controlsHiddenRight)}>{renderActionButtons()}</Box>\n }\n sx={mergeSx(styles.header, !editMode && styles.headerPreview)}\n data-testid=\"widget-card.header\"\n />\n <CardContent sx={mergeSx(styles.content, !editMode && styles.contentPreview)} data-testid=\"widget-card.content\">\n <AccessGuard\n features={requiredFeatures}\n extraPermissions={extraPermissions}\n onTrialRequest={handleTrialRequest}\n onFeatureRequest={handleFeatureRequest}\n backgroundImage={thumbnail}\n >\n <WidgetErrorBoundary>\n <Widget\n id={id}\n url={url}\n wsUrl={wsUrl}\n lang={lang}\n filters={filters}\n onDataChange={handleDataChange}\n onSettingsChange={handleSettingsChange}\n onLocalesRegistered={() => setLocalesReady(true)}\n openSettingsModal={openSettingsModal}\n onSettingsModalOpened={onSettingsModalOpened}\n onSettingsModalClosed={onSettingsModalClosed}\n sidePanelOpened={sidePanelOpened}\n updateSidePanelProps={updateSidePanelProps}\n editMode={editMode}\n />\n </WidgetErrorBoundary>\n </AccessGuard>\n </CardContent>\n {/* resizable handle */}\n {editMode && children}\n </Card>\n );\n },\n);\n\nexport { WidgetCard };\n","import dayjs from 'dayjs';\n\nimport { InsightsAggregation } from '../graphql-sdk';\n\ntype DateRange = {\n dateFrom: string;\n dateTo: string;\n};\n\nconst MAX_DAYS_HOURLY = 1;\nconst MIN_DAYS_DAILY = 2;\nconst MAX_DAYS_DAILY = 31;\nconst MIN_DAYS_WEEKLY = 14;\nconst MAX_MONTHS_WEEKLY = 6;\nconst MIN_MONTHS_MONTHLY = 3;\nconst MAX_MONTHS_MONTHLY = 12;\n\nconst getValidAggregations = (dateRange: DateRange): InsightsAggregation[] => {\n const from = dayjs(dateRange.dateFrom);\n const to = dayjs(dateRange.dateTo);\n const days = to.diff(from, 'day');\n const months = to.diff(from, 'month');\n\n const valid: InsightsAggregation[] = [];\n\n if (days <= MAX_DAYS_HOURLY) {\n valid.push(InsightsAggregation.Hourly);\n }\n\n if (days >= MIN_DAYS_DAILY && days <= MAX_DAYS_DAILY) {\n valid.push(InsightsAggregation.Daily);\n }\n\n if (days >= MIN_DAYS_WEEKLY && months <= MAX_MONTHS_WEEKLY) {\n valid.push(InsightsAggregation.Weekly);\n }\n\n if (months >= MIN_MONTHS_MONTHLY && months <= MAX_MONTHS_MONTHLY) {\n valid.push(InsightsAggregation.Monthly);\n }\n\n return valid;\n};\n\nconst resolveAutoAggregation = (dateRange: DateRange): InsightsAggregation => {\n const from = dayjs(dateRange.dateFrom);\n const to = dayjs(dateRange.dateTo);\n const days = to.diff(from, 'day');\n const months = to.diff(from, 'month');\n\n if (days <= 1) {\n return InsightsAggregation.Hourly;\n }\n\n if (days <= 13) {\n return InsightsAggregation.Daily;\n }\n\n if (months < 3) {\n return InsightsAggregation.Weekly;\n }\n\n return InsightsAggregation.Monthly;\n};\n\nconst resolveAggregation = (dateRange: DateRange, savedAggregation?: InsightsAggregation): InsightsAggregation => {\n if (savedAggregation) {\n const valid = getValidAggregations(dateRange);\n\n if (valid.includes(savedAggregation)) {\n return savedAggregation;\n }\n }\n\n return resolveAutoAggregation(dateRange);\n};\n\nexport { getValidAggregations, resolveAggregation };\n","import { Dayjs } from 'dayjs';\n\nexport const generateTimeRange = (\n start: Dayjs,\n end: Dayjs,\n unit: 'minutes' | 'hours' | 'days',\n step: number,\n): Dayjs[] => {\n const result: Dayjs[] = [];\n let current = start;\n const isReverse = start.isAfter(end);\n\n while (isReverse ? current.isAfter(end) || current.isSame(end) : current.isBefore(end) || current.isSame(end)) {\n result.push(current);\n current = isReverse ? current.subtract(step, unit) : current.add(step, unit);\n }\n return result;\n};\n","export const LIBRARY_VERSION = '1.5.48';\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["styles","styles","en","pl","styles","FEATURE_KEY","styles","styles","styles","styles","styles","styles","styles","styles","styles","styles","locales","styles","Select","styles.container","locales"],"sources":["../src/components/ConfirmTooltip/styles.ts","../src/components/ConfirmTooltip/index.tsx","../src/graphql-sdk.ts","../src/helpers/filters.ts","../src/locales/en/translation.json","../src/locales/pl/translation.json","../src/locales/index.ts","../src/components/DashboardFilters/AccessDeniedModal/styles.ts","../src/components/DashboardFilters/AccessDeniedModal/index.tsx","../src/components/DashboardFilters/DayTypeSelector/styles.ts","../src/components/DashboardFilters/DayTypeSelector/index.tsx","../src/helpers/shifts.ts","../src/helpers/periods.ts","../src/components/DashboardFilters/PeriodList/styles.ts","../src/components/DashboardFilters/PeriodList/index.tsx","../src/components/DashboardFilters/DateRangePicker/styles.ts","../src/components/DashboardFilters/DateRangePicker/index.tsx","../src/components/DashboardFilters/ShiftSelector/styles.ts","../src/components/DashboardFilters/ShiftSelector/index.tsx","../src/components/DashboardFilters/useDashboardFilters.ts","../src/components/DashboardFilters/styles.ts","../src/components/DashboardFilters/index.tsx","../src/assets/bg-pattern.ts","../src/components/MetricCard/styles.ts","../src/components/MetricCard/index.tsx","../src/components/SortableSelect/index.tsx","../src/assets/DragIcon.tsx","../src/utils/actioncable-client.ts","../src/utils/graphql-ws-client.ts","../src/graphql-ws.ts","../src/helpers/sdk.ts","../src/hooks/useGqlClients.ts","../src/components/WidgetCard/errorBoundaryStyles.ts","../src/components/WidgetCard/ErrorBoundary.tsx","../src/assets/resize-icon.ts","../src/components/WidgetCard/styles.ts","../src/components/WidgetCard/index.tsx","../src/helpers/aggregation.ts","../src/helpers/time.ts","../src/version.ts"],"sourcesContent":["import { SxProps, Theme } from '@mui/material/styles';\n\nconst styles: Record<string, SxProps<Theme>> = {\n buttons: {\n paddingTop: (theme) => theme.spacing(2),\n },\n cancelButton: {\n marginRight: '10px',\n },\n popper: {\n '.MuiTooltip-tooltip': {\n padding: '20px',\n fontSize: '14px',\n borderRadius: '8px',\n border: `1px solid #4E5A67`,\n background: '#1C1F25',\n boxShadow: '0px 4px 10.4px 0px rgba(255, 255, 255, 0.05)',\n },\n '.MuiTooltip-arrow': {\n color: '#4E5A67',\n },\n },\n};\n\nexport default styles;\n","import React from 'react';\n\nimport { Box, Button, Stack, Tooltip, TooltipProps, Typography } from '@mui/material';\n\nimport styles from './styles';\n\ninterface ConfirmTooltipProps extends Omit<TooltipProps, 'title'> {\n confirmMessage: string;\n confirmButtonText: string;\n cancelButtonText: string;\n onCancel: () => void;\n onConfirm: () => void;\n confirmButtonTestId?: string;\n cancelButtonTestId?: string;\n}\n\nconst ConfirmTooltip: React.FC<ConfirmTooltipProps> = ({\n children,\n confirmMessage,\n confirmButtonText,\n cancelButtonText,\n onCancel,\n onConfirm,\n confirmButtonTestId,\n cancelButtonTestId,\n ...props\n}) => {\n return (\n <Tooltip\n {...props}\n placement=\"bottom-end\"\n title={\n <Box>\n <Typography>{confirmMessage}</Typography>\n <Stack direction=\"row\" justifyContent=\"flex-end\" sx={styles.buttons}>\n <Button\n variant=\"outlined\"\n color=\"secondary\"\n onClick={(e) => {\n e.stopPropagation();\n\n onCancel();\n }}\n sx={styles.cancelButton}\n data-testid={cancelButtonTestId}\n >\n {cancelButtonText}\n </Button>\n <Button\n variant=\"contained\"\n color=\"error\"\n onClick={(e) => {\n e.stopPropagation();\n\n onConfirm();\n }}\n data-testid={confirmButtonTestId}\n >\n {confirmButtonText}\n </Button>\n </Stack>\n </Box>\n }\n PopperProps={{ sx: styles.popper }}\n arrow\n >\n {children}\n </Tooltip>\n );\n};\n\nexport default ConfirmTooltip;\n","import { GraphQLClient, RequestOptions } from 'graphql-request';\nimport gql from 'graphql-tag';\nexport type Maybe<T> = T | null;\nexport type InputMaybe<T> = Maybe<T>;\nexport type Exact<T extends { [key: string]: unknown }> = { [K in keyof T]: T[K] };\nexport type MakeOptional<T, K extends keyof T> = Omit<T, K> & { [SubKey in K]?: Maybe<T[SubKey]> };\nexport type MakeMaybe<T, K extends keyof T> = Omit<T, K> & { [SubKey in K]: Maybe<T[SubKey]> };\nexport type MakeEmpty<T extends { [key: string]: unknown }, K extends keyof T> = { [_ in K]?: never };\nexport type Incremental<T> = T | { [P in keyof T]?: P extends ' $fragmentName' | '__typename' ? T[P] : never };\ntype GraphQLClientRequestHeaders = RequestOptions['requestHeaders'];\n/** All built-in and custom scalars, mapped to their actual values */\nexport type Scalars = {\n ID: { input: string; output: string };\n String: { input: string; output: string };\n Boolean: { input: boolean; output: boolean };\n Int: { input: number; output: number };\n Float: { input: number; output: number };\n /** An ISO 8601-encoded date */\n ISO8601Date: { input: any; output: any };\n /** An ISO 8601-encoded datetime */\n ISO8601DateTime: { input: any; output: any };\n /** Represents untyped JSON */\n JSON: { input: any; output: any };\n};\n\nexport enum AccessRequestTypeEnum {\n FeatureAccess = 'FEATURE_ACCESS',\n Purchase = 'PURCHASE',\n TrialExpired = 'TRIAL_EXPIRED',\n Wishlist = 'WISHLIST',\n}\n\nexport type ActualStaffingCount = {\n __typename?: 'ActualStaffingCount';\n actualOperators: Scalars['Int']['output'];\n date: Scalars['ISO8601Date']['output'];\n hasDeviation: Scalars['Boolean']['output'];\n plannedOperators?: Maybe<Scalars['Int']['output']>;\n shift: Shift;\n workplace: Workplace;\n};\n\nexport type ActualStaffingCountFilter = {\n date?: InputMaybe<Scalars['ISO8601Date']['input']>;\n shift_id_in?: InputMaybe<Array<Scalars['ID']['input']>>;\n workplace_id_in?: InputMaybe<Array<Scalars['ID']['input']>>;\n};\n\nexport enum AndonLightColor {\n Gray = 'gray',\n Green = 'green',\n Red = 'red',\n Yellow = 'yellow',\n}\n\nexport type ApplicationInfo = {\n __typename?: 'ApplicationInfo';\n apiVersion: Scalars['String']['output'];\n};\n\nexport type AssignOperatorInput = {\n shiftId: Scalars['ID']['input'];\n userId: Scalars['ID']['input'];\n validFrom: Scalars['ISO8601Date']['input'];\n workplaceId: Scalars['ID']['input'];\n};\n\n/** Autogenerated return type of AssignOperatorToWorkplace */\nexport type AssignOperatorToWorkplacePayload = {\n __typename?: 'AssignOperatorToWorkplacePayload';\n assignment?: Maybe<WorkplaceAssignment>;\n errors?: Maybe<Array<MutationError>>;\n};\n\nexport type AssignedOperator = {\n __typename?: 'AssignedOperator';\n presenceStatus: PresenceStatusEnum;\n user: User;\n};\n\nexport type AssignmentSummary = {\n __typename?: 'AssignmentSummary';\n totalAssigned: Scalars['Int']['output'];\n totalCheckedIn: Scalars['Int']['output'];\n totalMissing: Scalars['Int']['output'];\n};\n\nexport type AvailabilityInsightsEntry = {\n __typename?: 'AvailabilityInsightsEntry';\n availability: Scalars['Float']['output'];\n label: Scalars['String']['output'];\n noData: Scalars['Boolean']['output'];\n};\n\nexport type AvailabilityInsightsInput = {\n comparedPeriods: Scalars['Int']['input'];\n dateFrom: Scalars['ISO8601DateTime']['input'];\n dateTo: Scalars['ISO8601DateTime']['input'];\n dayType: DayType;\n};\n\nexport type AvailabilityInsightsResult = {\n __typename?: 'AvailabilityInsightsResult';\n entries: Array<AvailabilityInsightsEntry>;\n};\n\nexport enum AvailabilityStatus {\n OffSchedule = 'OFF_SCHEDULE',\n PlannedStop = 'PLANNED_STOP',\n Stopped = 'STOPPED',\n Working = 'WORKING',\n}\n\nexport type BulkStaffingPlanInput = {\n plans: Array<StaffingPlanInput>;\n};\n\n/** Autogenerated return type of BulkUpsertStaffingPlans */\nexport type BulkUpsertStaffingPlansPayload = {\n __typename?: 'BulkUpsertStaffingPlansPayload';\n errors?: Maybe<Array<MutationError>>;\n staffingPlans?: Maybe<Array<StaffingPlan>>;\n};\n\nexport type CompanyConfig = {\n __typename?: 'CompanyConfig';\n devicesConfigs: Array<DeviceConfig>;\n displayedKpiItems: Array<Scalars['String']['output']>;\n reasonsRecommendationsEnabled: Scalars['Boolean']['output'];\n roleConfig: RoleConfig;\n statusChangeTransitionPermissionsUpdatedAt?: Maybe<Scalars['String']['output']>;\n workplacesConfigs: Array<WorkplaceConfig>;\n};\n\nexport type Counter = {\n __typename?: 'Counter';\n directoryId?: Maybe<Scalars['String']['output']>;\n hasNote: Scalars['Boolean']['output'];\n id: Scalars['ID']['output'];\n isDisabled: Scalars['Boolean']['output'];\n kind: CounterKindEnum;\n name: Scalars['String']['output'];\n position: Scalars['Int']['output'];\n value: Scalars['Float']['output'];\n workplaceId: Scalars['String']['output'];\n};\n\nexport type CounterDirectory = {\n __typename?: 'CounterDirectory';\n directoryId?: Maybe<Scalars['String']['output']>;\n id: Scalars['ID']['output'];\n name?: Maybe<Scalars['String']['output']>;\n position: Scalars['Int']['output'];\n workplaceId: Scalars['String']['output'];\n};\n\nexport type CounterDirectoryFilter = {\n ancestry_cont?: InputMaybe<Scalars['String']['input']>;\n ancestry_contains?: InputMaybe<Scalars['String']['input']>;\n ancestry_end?: InputMaybe<Scalars['String']['input']>;\n ancestry_eq?: InputMaybe<Scalars['String']['input']>;\n ancestry_equals?: InputMaybe<Scalars['String']['input']>;\n ancestry_in?: InputMaybe<Array<Scalars['String']['input']>>;\n ancestry_not_eq?: InputMaybe<Scalars['String']['input']>;\n ancestry_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n ancestry_not_null?: InputMaybe<Scalars['String']['input']>;\n ancestry_null?: InputMaybe<Scalars['String']['input']>;\n ancestry_start?: InputMaybe<Scalars['String']['input']>;\n company_id_eq?: InputMaybe<Scalars['String']['input']>;\n company_id_equals?: InputMaybe<Scalars['String']['input']>;\n company_id_gt?: InputMaybe<Scalars['String']['input']>;\n company_id_gteq?: InputMaybe<Scalars['String']['input']>;\n company_id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n company_id_lt?: InputMaybe<Scalars['String']['input']>;\n company_id_lteq?: InputMaybe<Scalars['String']['input']>;\n company_id_not_eq?: InputMaybe<Scalars['String']['input']>;\n company_id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n company_id_not_null?: InputMaybe<Scalars['String']['input']>;\n company_id_null?: InputMaybe<Scalars['String']['input']>;\n created_at_eq?: InputMaybe<Scalars['String']['input']>;\n created_at_equals?: InputMaybe<Scalars['String']['input']>;\n created_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n created_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n created_at_not_null?: InputMaybe<Scalars['String']['input']>;\n created_at_null?: InputMaybe<Scalars['String']['input']>;\n deleted_at_eq?: InputMaybe<Scalars['String']['input']>;\n deleted_at_equals?: InputMaybe<Scalars['String']['input']>;\n deleted_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n deleted_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n deleted_at_not_null?: InputMaybe<Scalars['String']['input']>;\n deleted_at_null?: InputMaybe<Scalars['String']['input']>;\n id_eq?: InputMaybe<Scalars['String']['input']>;\n id_equals?: InputMaybe<Scalars['String']['input']>;\n id_gt?: InputMaybe<Scalars['String']['input']>;\n id_gteq?: InputMaybe<Scalars['String']['input']>;\n id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n id_lt?: InputMaybe<Scalars['String']['input']>;\n id_lteq?: InputMaybe<Scalars['String']['input']>;\n id_not_eq?: InputMaybe<Scalars['String']['input']>;\n id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n id_not_null?: InputMaybe<Scalars['String']['input']>;\n id_null?: InputMaybe<Scalars['String']['input']>;\n name_cont?: InputMaybe<Scalars['String']['input']>;\n name_contains?: InputMaybe<Scalars['String']['input']>;\n name_en_cont?: InputMaybe<Scalars['String']['input']>;\n name_en_contains?: InputMaybe<Scalars['String']['input']>;\n name_en_end?: InputMaybe<Scalars['String']['input']>;\n name_en_eq?: InputMaybe<Scalars['String']['input']>;\n name_en_equals?: InputMaybe<Scalars['String']['input']>;\n name_en_in?: InputMaybe<Array<Scalars['String']['input']>>;\n name_en_not_eq?: InputMaybe<Scalars['String']['input']>;\n name_en_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n name_en_not_null?: InputMaybe<Scalars['String']['input']>;\n name_en_null?: InputMaybe<Scalars['String']['input']>;\n name_en_start?: InputMaybe<Scalars['String']['input']>;\n name_end?: InputMaybe<Scalars['String']['input']>;\n name_eq?: InputMaybe<Scalars['String']['input']>;\n name_equals?: InputMaybe<Scalars['String']['input']>;\n name_in?: InputMaybe<Array<Scalars['String']['input']>>;\n name_not_eq?: InputMaybe<Scalars['String']['input']>;\n name_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n name_not_null?: InputMaybe<Scalars['String']['input']>;\n name_null?: InputMaybe<Scalars['String']['input']>;\n name_pl_cont?: InputMaybe<Scalars['String']['input']>;\n name_pl_contains?: InputMaybe<Scalars['String']['input']>;\n name_pl_end?: InputMaybe<Scalars['String']['input']>;\n name_pl_eq?: InputMaybe<Scalars['String']['input']>;\n name_pl_equals?: InputMaybe<Scalars['String']['input']>;\n name_pl_in?: InputMaybe<Array<Scalars['String']['input']>>;\n name_pl_not_eq?: InputMaybe<Scalars['String']['input']>;\n name_pl_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n name_pl_not_null?: InputMaybe<Scalars['String']['input']>;\n name_pl_null?: InputMaybe<Scalars['String']['input']>;\n name_pl_start?: InputMaybe<Scalars['String']['input']>;\n name_start?: InputMaybe<Scalars['String']['input']>;\n position_eq?: InputMaybe<Scalars['String']['input']>;\n position_equals?: InputMaybe<Scalars['String']['input']>;\n position_gt?: InputMaybe<Scalars['String']['input']>;\n position_gteq?: InputMaybe<Scalars['String']['input']>;\n position_in?: InputMaybe<Array<Scalars['String']['input']>>;\n position_lt?: InputMaybe<Scalars['String']['input']>;\n position_lteq?: InputMaybe<Scalars['String']['input']>;\n position_not_eq?: InputMaybe<Scalars['String']['input']>;\n position_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n position_not_null?: InputMaybe<Scalars['String']['input']>;\n position_null?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_eq?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_equals?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_gt?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_gteq?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n subgroup_id_lt?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_lteq?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_not_eq?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n subgroup_id_not_null?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_null?: InputMaybe<Scalars['String']['input']>;\n updated_at_eq?: InputMaybe<Scalars['String']['input']>;\n updated_at_equals?: InputMaybe<Scalars['String']['input']>;\n updated_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n updated_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n updated_at_not_null?: InputMaybe<Scalars['String']['input']>;\n updated_at_null?: InputMaybe<Scalars['String']['input']>;\n workplace_id_cont?: InputMaybe<Scalars['String']['input']>;\n workplace_id_contains?: InputMaybe<Scalars['String']['input']>;\n workplace_id_end?: InputMaybe<Scalars['String']['input']>;\n workplace_id_eq?: InputMaybe<Scalars['String']['input']>;\n workplace_id_equals?: InputMaybe<Scalars['String']['input']>;\n workplace_id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n workplace_id_not_eq?: InputMaybe<Scalars['String']['input']>;\n workplace_id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n workplace_id_not_null?: InputMaybe<Scalars['String']['input']>;\n workplace_id_null?: InputMaybe<Scalars['String']['input']>;\n workplace_id_start?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type CounterFilter = {\n company_id_eq?: InputMaybe<Scalars['String']['input']>;\n company_id_equals?: InputMaybe<Scalars['String']['input']>;\n company_id_gt?: InputMaybe<Scalars['String']['input']>;\n company_id_gteq?: InputMaybe<Scalars['String']['input']>;\n company_id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n company_id_lt?: InputMaybe<Scalars['String']['input']>;\n company_id_lteq?: InputMaybe<Scalars['String']['input']>;\n company_id_not_eq?: InputMaybe<Scalars['String']['input']>;\n company_id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n company_id_not_null?: InputMaybe<Scalars['String']['input']>;\n company_id_null?: InputMaybe<Scalars['String']['input']>;\n counter_directory_id_eq?: InputMaybe<Scalars['String']['input']>;\n counter_directory_id_equals?: InputMaybe<Scalars['String']['input']>;\n counter_directory_id_gt?: InputMaybe<Scalars['String']['input']>;\n counter_directory_id_gteq?: InputMaybe<Scalars['String']['input']>;\n counter_directory_id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n counter_directory_id_lt?: InputMaybe<Scalars['String']['input']>;\n counter_directory_id_lteq?: InputMaybe<Scalars['String']['input']>;\n counter_directory_id_not_eq?: InputMaybe<Scalars['String']['input']>;\n counter_directory_id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n counter_directory_id_not_null?: InputMaybe<Scalars['String']['input']>;\n counter_directory_id_null?: InputMaybe<Scalars['String']['input']>;\n created_at_eq?: InputMaybe<Scalars['String']['input']>;\n created_at_equals?: InputMaybe<Scalars['String']['input']>;\n created_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n created_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n created_at_not_null?: InputMaybe<Scalars['String']['input']>;\n created_at_null?: InputMaybe<Scalars['String']['input']>;\n deleted_at_eq?: InputMaybe<Scalars['String']['input']>;\n deleted_at_equals?: InputMaybe<Scalars['String']['input']>;\n deleted_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n deleted_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n deleted_at_not_null?: InputMaybe<Scalars['String']['input']>;\n deleted_at_null?: InputMaybe<Scalars['String']['input']>;\n handler_eq?: InputMaybe<Scalars['String']['input']>;\n handler_equals?: InputMaybe<Scalars['String']['input']>;\n handler_gt?: InputMaybe<Scalars['String']['input']>;\n handler_gteq?: InputMaybe<Scalars['String']['input']>;\n handler_in?: InputMaybe<Array<Scalars['String']['input']>>;\n handler_lt?: InputMaybe<Scalars['String']['input']>;\n handler_lteq?: InputMaybe<Scalars['String']['input']>;\n handler_not_eq?: InputMaybe<Scalars['String']['input']>;\n handler_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n handler_not_null?: InputMaybe<Scalars['String']['input']>;\n handler_null?: InputMaybe<Scalars['String']['input']>;\n has_note_eq?: InputMaybe<Scalars['String']['input']>;\n has_note_equals?: InputMaybe<Scalars['String']['input']>;\n id_eq?: InputMaybe<Scalars['String']['input']>;\n id_equals?: InputMaybe<Scalars['String']['input']>;\n id_gt?: InputMaybe<Scalars['String']['input']>;\n id_gteq?: InputMaybe<Scalars['String']['input']>;\n id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n id_lt?: InputMaybe<Scalars['String']['input']>;\n id_lteq?: InputMaybe<Scalars['String']['input']>;\n id_not_eq?: InputMaybe<Scalars['String']['input']>;\n id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n id_not_null?: InputMaybe<Scalars['String']['input']>;\n id_null?: InputMaybe<Scalars['String']['input']>;\n incrementer_eq?: InputMaybe<Scalars['String']['input']>;\n incrementer_equals?: InputMaybe<Scalars['String']['input']>;\n incrementer_gt?: InputMaybe<Scalars['String']['input']>;\n incrementer_gteq?: InputMaybe<Scalars['String']['input']>;\n incrementer_in?: InputMaybe<Array<Scalars['String']['input']>>;\n incrementer_lt?: InputMaybe<Scalars['String']['input']>;\n incrementer_lteq?: InputMaybe<Scalars['String']['input']>;\n incrementer_not_eq?: InputMaybe<Scalars['String']['input']>;\n incrementer_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n incrementer_not_null?: InputMaybe<Scalars['String']['input']>;\n incrementer_null?: InputMaybe<Scalars['String']['input']>;\n is_disabled_eq?: InputMaybe<Scalars['String']['input']>;\n is_disabled_equals?: InputMaybe<Scalars['String']['input']>;\n kind_eq?: InputMaybe<Scalars['String']['input']>;\n kind_equals?: InputMaybe<Scalars['String']['input']>;\n kind_gt?: InputMaybe<Scalars['String']['input']>;\n kind_gteq?: InputMaybe<Scalars['String']['input']>;\n kind_in?: InputMaybe<Array<Scalars['String']['input']>>;\n kind_lt?: InputMaybe<Scalars['String']['input']>;\n kind_lteq?: InputMaybe<Scalars['String']['input']>;\n kind_not_eq?: InputMaybe<Scalars['String']['input']>;\n kind_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n kind_not_null?: InputMaybe<Scalars['String']['input']>;\n kind_null?: InputMaybe<Scalars['String']['input']>;\n name_cont?: InputMaybe<Scalars['String']['input']>;\n name_contains?: InputMaybe<Scalars['String']['input']>;\n name_en_cont?: InputMaybe<Scalars['String']['input']>;\n name_en_contains?: InputMaybe<Scalars['String']['input']>;\n name_en_end?: InputMaybe<Scalars['String']['input']>;\n name_en_eq?: InputMaybe<Scalars['String']['input']>;\n name_en_equals?: InputMaybe<Scalars['String']['input']>;\n name_en_in?: InputMaybe<Array<Scalars['String']['input']>>;\n name_en_not_eq?: InputMaybe<Scalars['String']['input']>;\n name_en_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n name_en_not_null?: InputMaybe<Scalars['String']['input']>;\n name_en_null?: InputMaybe<Scalars['String']['input']>;\n name_en_start?: InputMaybe<Scalars['String']['input']>;\n name_end?: InputMaybe<Scalars['String']['input']>;\n name_eq?: InputMaybe<Scalars['String']['input']>;\n name_equals?: InputMaybe<Scalars['String']['input']>;\n name_in?: InputMaybe<Array<Scalars['String']['input']>>;\n name_not_eq?: InputMaybe<Scalars['String']['input']>;\n name_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n name_not_null?: InputMaybe<Scalars['String']['input']>;\n name_null?: InputMaybe<Scalars['String']['input']>;\n name_pl_cont?: InputMaybe<Scalars['String']['input']>;\n name_pl_contains?: InputMaybe<Scalars['String']['input']>;\n name_pl_end?: InputMaybe<Scalars['String']['input']>;\n name_pl_eq?: InputMaybe<Scalars['String']['input']>;\n name_pl_equals?: InputMaybe<Scalars['String']['input']>;\n name_pl_in?: InputMaybe<Array<Scalars['String']['input']>>;\n name_pl_not_eq?: InputMaybe<Scalars['String']['input']>;\n name_pl_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n name_pl_not_null?: InputMaybe<Scalars['String']['input']>;\n name_pl_null?: InputMaybe<Scalars['String']['input']>;\n name_pl_start?: InputMaybe<Scalars['String']['input']>;\n name_start?: InputMaybe<Scalars['String']['input']>;\n order_resettable_eq?: InputMaybe<Scalars['String']['input']>;\n order_resettable_equals?: InputMaybe<Scalars['String']['input']>;\n platform_visible_eq?: InputMaybe<Scalars['String']['input']>;\n platform_visible_equals?: InputMaybe<Scalars['String']['input']>;\n position_eq?: InputMaybe<Scalars['String']['input']>;\n position_equals?: InputMaybe<Scalars['String']['input']>;\n position_gt?: InputMaybe<Scalars['String']['input']>;\n position_gteq?: InputMaybe<Scalars['String']['input']>;\n position_in?: InputMaybe<Array<Scalars['String']['input']>>;\n position_lt?: InputMaybe<Scalars['String']['input']>;\n position_lteq?: InputMaybe<Scalars['String']['input']>;\n position_not_eq?: InputMaybe<Scalars['String']['input']>;\n position_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n position_not_null?: InputMaybe<Scalars['String']['input']>;\n position_null?: InputMaybe<Scalars['String']['input']>;\n reason_id_eq?: InputMaybe<Scalars['String']['input']>;\n reason_id_equals?: InputMaybe<Scalars['String']['input']>;\n reason_id_gt?: InputMaybe<Scalars['String']['input']>;\n reason_id_gteq?: InputMaybe<Scalars['String']['input']>;\n reason_id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n reason_id_lt?: InputMaybe<Scalars['String']['input']>;\n reason_id_lteq?: InputMaybe<Scalars['String']['input']>;\n reason_id_not_eq?: InputMaybe<Scalars['String']['input']>;\n reason_id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n reason_id_not_null?: InputMaybe<Scalars['String']['input']>;\n reason_id_null?: InputMaybe<Scalars['String']['input']>;\n reset_point_eq?: InputMaybe<Scalars['String']['input']>;\n reset_point_equals?: InputMaybe<Scalars['String']['input']>;\n reset_point_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n reset_point_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n reset_point_not_null?: InputMaybe<Scalars['String']['input']>;\n reset_point_null?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_eq?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_equals?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_gt?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_gteq?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n subgroup_id_lt?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_lteq?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_not_eq?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n subgroup_id_not_null?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_null?: InputMaybe<Scalars['String']['input']>;\n updated_at_eq?: InputMaybe<Scalars['String']['input']>;\n updated_at_equals?: InputMaybe<Scalars['String']['input']>;\n updated_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n updated_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n updated_at_not_null?: InputMaybe<Scalars['String']['input']>;\n updated_at_null?: InputMaybe<Scalars['String']['input']>;\n uuid_eq?: InputMaybe<Scalars['String']['input']>;\n uuid_equals?: InputMaybe<Scalars['String']['input']>;\n uuid_in?: InputMaybe<Array<Scalars['String']['input']>>;\n uuid_not_eq?: InputMaybe<Scalars['String']['input']>;\n uuid_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n uuid_not_null?: InputMaybe<Scalars['String']['input']>;\n uuid_null?: InputMaybe<Scalars['String']['input']>;\n workplace_id_cont?: InputMaybe<Scalars['String']['input']>;\n workplace_id_contains?: InputMaybe<Scalars['String']['input']>;\n workplace_id_end?: InputMaybe<Scalars['String']['input']>;\n workplace_id_eq?: InputMaybe<Scalars['String']['input']>;\n workplace_id_equals?: InputMaybe<Scalars['String']['input']>;\n workplace_id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n workplace_id_not_eq?: InputMaybe<Scalars['String']['input']>;\n workplace_id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n workplace_id_not_null?: InputMaybe<Scalars['String']['input']>;\n workplace_id_null?: InputMaybe<Scalars['String']['input']>;\n workplace_id_start?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport enum CounterKindEnum {\n Bad = 'bad',\n Good = 'good',\n}\n\n/** Autogenerated return type of CreateDashboard */\nexport type CreateDashboardPayload = {\n __typename?: 'CreateDashboardPayload';\n dashboard?: Maybe<Dashboard>;\n errors?: Maybe<Array<MutationError>>;\n};\n\n/** Autogenerated return type of CreateOrder */\nexport type CreateOrderPayload = {\n __typename?: 'CreateOrderPayload';\n errors?: Maybe<Array<MutationError>>;\n order?: Maybe<Order>;\n};\n\n/** Autogenerated return type of CreateProduct */\nexport type CreateProductPayload = {\n __typename?: 'CreateProductPayload';\n errors?: Maybe<Array<MutationError>>;\n product?: Maybe<Product>;\n};\n\n/** Autogenerated return type of CreateStaffingPlan */\nexport type CreateStaffingPlanPayload = {\n __typename?: 'CreateStaffingPlanPayload';\n errors?: Maybe<Array<MutationError>>;\n staffingPlan?: Maybe<StaffingPlan>;\n};\n\n/** Autogenerated return type of CreateStatusChange */\nexport type CreateStatusChangePayload = {\n __typename?: 'CreateStatusChangePayload';\n errors?: Maybe<Array<MutationError>>;\n statusChange?: Maybe<StatusChange>;\n};\n\n/** Autogenerated return type of CreateUserPresence */\nexport type CreateUserPresencePayload = {\n __typename?: 'CreateUserPresencePayload';\n errors?: Maybe<Array<MutationError>>;\n userPresence?: Maybe<UserPresence>;\n};\n\n/** Autogenerated return type of CreateWidget */\nexport type CreateWidgetPayload = {\n __typename?: 'CreateWidgetPayload';\n errors?: Maybe<Array<MutationError>>;\n widget?: Maybe<Widget>;\n};\n\nexport type Dashboard = {\n __typename?: 'Dashboard';\n filters?: Maybe<Scalars['String']['output']>;\n gridLayout?: Maybe<Scalars['String']['output']>;\n id: Scalars['ID']['output'];\n name: Scalars['String']['output'];\n};\n\nexport type DashboardFilter = {\n company_id_eq?: InputMaybe<Scalars['String']['input']>;\n company_id_equals?: InputMaybe<Scalars['String']['input']>;\n company_id_gt?: InputMaybe<Scalars['String']['input']>;\n company_id_gteq?: InputMaybe<Scalars['String']['input']>;\n company_id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n company_id_lt?: InputMaybe<Scalars['String']['input']>;\n company_id_lteq?: InputMaybe<Scalars['String']['input']>;\n company_id_not_eq?: InputMaybe<Scalars['String']['input']>;\n company_id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n company_id_not_null?: InputMaybe<Scalars['String']['input']>;\n company_id_null?: InputMaybe<Scalars['String']['input']>;\n created_at_eq?: InputMaybe<Scalars['String']['input']>;\n created_at_equals?: InputMaybe<Scalars['String']['input']>;\n created_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n created_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n created_at_not_null?: InputMaybe<Scalars['String']['input']>;\n created_at_null?: InputMaybe<Scalars['String']['input']>;\n deleted_at_eq?: InputMaybe<Scalars['String']['input']>;\n deleted_at_equals?: InputMaybe<Scalars['String']['input']>;\n deleted_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n deleted_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n deleted_at_not_null?: InputMaybe<Scalars['String']['input']>;\n deleted_at_null?: InputMaybe<Scalars['String']['input']>;\n filters_cont?: InputMaybe<Scalars['String']['input']>;\n filters_contains?: InputMaybe<Scalars['String']['input']>;\n filters_end?: InputMaybe<Scalars['String']['input']>;\n filters_eq?: InputMaybe<Scalars['String']['input']>;\n filters_equals?: InputMaybe<Scalars['String']['input']>;\n filters_in?: InputMaybe<Array<Scalars['String']['input']>>;\n filters_not_eq?: InputMaybe<Scalars['String']['input']>;\n filters_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n filters_not_null?: InputMaybe<Scalars['String']['input']>;\n filters_null?: InputMaybe<Scalars['String']['input']>;\n filters_start?: InputMaybe<Scalars['String']['input']>;\n grid_layout_contains?: InputMaybe<Scalars['String']['input']>;\n id_eq?: InputMaybe<Scalars['String']['input']>;\n id_equals?: InputMaybe<Scalars['String']['input']>;\n id_gt?: InputMaybe<Scalars['String']['input']>;\n id_gteq?: InputMaybe<Scalars['String']['input']>;\n id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n id_lt?: InputMaybe<Scalars['String']['input']>;\n id_lteq?: InputMaybe<Scalars['String']['input']>;\n id_not_eq?: InputMaybe<Scalars['String']['input']>;\n id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n id_not_null?: InputMaybe<Scalars['String']['input']>;\n id_null?: InputMaybe<Scalars['String']['input']>;\n name_cont?: InputMaybe<Scalars['String']['input']>;\n name_contains?: InputMaybe<Scalars['String']['input']>;\n name_end?: InputMaybe<Scalars['String']['input']>;\n name_eq?: InputMaybe<Scalars['String']['input']>;\n name_equals?: InputMaybe<Scalars['String']['input']>;\n name_in?: InputMaybe<Array<Scalars['String']['input']>>;\n name_not_eq?: InputMaybe<Scalars['String']['input']>;\n name_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n name_not_null?: InputMaybe<Scalars['String']['input']>;\n name_null?: InputMaybe<Scalars['String']['input']>;\n name_start?: InputMaybe<Scalars['String']['input']>;\n settings_contains?: InputMaybe<Scalars['String']['input']>;\n updated_at_eq?: InputMaybe<Scalars['String']['input']>;\n updated_at_equals?: InputMaybe<Scalars['String']['input']>;\n updated_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n updated_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n updated_at_not_null?: InputMaybe<Scalars['String']['input']>;\n updated_at_null?: InputMaybe<Scalars['String']['input']>;\n uuid_eq?: InputMaybe<Scalars['String']['input']>;\n uuid_equals?: InputMaybe<Scalars['String']['input']>;\n uuid_in?: InputMaybe<Array<Scalars['String']['input']>>;\n uuid_not_eq?: InputMaybe<Scalars['String']['input']>;\n uuid_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n uuid_not_null?: InputMaybe<Scalars['String']['input']>;\n uuid_null?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport enum DayType {\n Calendar = 'CALENDAR',\n Production = 'PRODUCTION',\n}\n\nexport type Department = {\n __typename?: 'Department';\n id: Scalars['ID']['output'];\n name: Scalars['String']['output'];\n};\n\nexport type DepartmentFilter = {\n company_id_eq?: InputMaybe<Scalars['String']['input']>;\n company_id_equals?: InputMaybe<Scalars['String']['input']>;\n company_id_gt?: InputMaybe<Scalars['String']['input']>;\n company_id_gteq?: InputMaybe<Scalars['String']['input']>;\n company_id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n company_id_lt?: InputMaybe<Scalars['String']['input']>;\n company_id_lteq?: InputMaybe<Scalars['String']['input']>;\n company_id_not_eq?: InputMaybe<Scalars['String']['input']>;\n company_id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n company_id_not_null?: InputMaybe<Scalars['String']['input']>;\n company_id_null?: InputMaybe<Scalars['String']['input']>;\n created_at_eq?: InputMaybe<Scalars['String']['input']>;\n created_at_equals?: InputMaybe<Scalars['String']['input']>;\n created_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n created_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n created_at_not_null?: InputMaybe<Scalars['String']['input']>;\n created_at_null?: InputMaybe<Scalars['String']['input']>;\n id_eq?: InputMaybe<Scalars['String']['input']>;\n id_equals?: InputMaybe<Scalars['String']['input']>;\n id_gt?: InputMaybe<Scalars['String']['input']>;\n id_gteq?: InputMaybe<Scalars['String']['input']>;\n id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n id_lt?: InputMaybe<Scalars['String']['input']>;\n id_lteq?: InputMaybe<Scalars['String']['input']>;\n id_not_eq?: InputMaybe<Scalars['String']['input']>;\n id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n id_not_null?: InputMaybe<Scalars['String']['input']>;\n id_null?: InputMaybe<Scalars['String']['input']>;\n name_cont?: InputMaybe<Scalars['String']['input']>;\n name_contains?: InputMaybe<Scalars['String']['input']>;\n name_en_cont?: InputMaybe<Scalars['String']['input']>;\n name_en_contains?: InputMaybe<Scalars['String']['input']>;\n name_en_end?: InputMaybe<Scalars['String']['input']>;\n name_en_eq?: InputMaybe<Scalars['String']['input']>;\n name_en_equals?: InputMaybe<Scalars['String']['input']>;\n name_en_in?: InputMaybe<Array<Scalars['String']['input']>>;\n name_en_not_eq?: InputMaybe<Scalars['String']['input']>;\n name_en_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n name_en_not_null?: InputMaybe<Scalars['String']['input']>;\n name_en_null?: InputMaybe<Scalars['String']['input']>;\n name_en_start?: InputMaybe<Scalars['String']['input']>;\n name_end?: InputMaybe<Scalars['String']['input']>;\n name_eq?: InputMaybe<Scalars['String']['input']>;\n name_equals?: InputMaybe<Scalars['String']['input']>;\n name_in?: InputMaybe<Array<Scalars['String']['input']>>;\n name_not_eq?: InputMaybe<Scalars['String']['input']>;\n name_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n name_not_null?: InputMaybe<Scalars['String']['input']>;\n name_null?: InputMaybe<Scalars['String']['input']>;\n name_pl_cont?: InputMaybe<Scalars['String']['input']>;\n name_pl_contains?: InputMaybe<Scalars['String']['input']>;\n name_pl_end?: InputMaybe<Scalars['String']['input']>;\n name_pl_eq?: InputMaybe<Scalars['String']['input']>;\n name_pl_equals?: InputMaybe<Scalars['String']['input']>;\n name_pl_in?: InputMaybe<Array<Scalars['String']['input']>>;\n name_pl_not_eq?: InputMaybe<Scalars['String']['input']>;\n name_pl_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n name_pl_not_null?: InputMaybe<Scalars['String']['input']>;\n name_pl_null?: InputMaybe<Scalars['String']['input']>;\n name_pl_start?: InputMaybe<Scalars['String']['input']>;\n name_start?: InputMaybe<Scalars['String']['input']>;\n updated_at_eq?: InputMaybe<Scalars['String']['input']>;\n updated_at_equals?: InputMaybe<Scalars['String']['input']>;\n updated_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n updated_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n updated_at_not_null?: InputMaybe<Scalars['String']['input']>;\n updated_at_null?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type DeviceConfig = {\n __typename?: 'DeviceConfig';\n defaultWorkplaceId: Scalars['String']['output'];\n deviceId: Scalars['ID']['output'];\n name: Scalars['String']['output'];\n};\n\nexport type FloorPlan = {\n __typename?: 'FloorPlan';\n id: Scalars['ID']['output'];\n imageUrl: Scalars['String']['output'];\n name: Scalars['String']['output'];\n};\n\nexport type FloorPlanFilter = {\n company_id_eq?: InputMaybe<Scalars['String']['input']>;\n company_id_equals?: InputMaybe<Scalars['String']['input']>;\n company_id_gt?: InputMaybe<Scalars['String']['input']>;\n company_id_gteq?: InputMaybe<Scalars['String']['input']>;\n company_id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n company_id_lt?: InputMaybe<Scalars['String']['input']>;\n company_id_lteq?: InputMaybe<Scalars['String']['input']>;\n company_id_not_eq?: InputMaybe<Scalars['String']['input']>;\n company_id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n company_id_not_null?: InputMaybe<Scalars['String']['input']>;\n company_id_null?: InputMaybe<Scalars['String']['input']>;\n created_at_eq?: InputMaybe<Scalars['String']['input']>;\n created_at_equals?: InputMaybe<Scalars['String']['input']>;\n created_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n created_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n created_at_not_null?: InputMaybe<Scalars['String']['input']>;\n created_at_null?: InputMaybe<Scalars['String']['input']>;\n id_eq?: InputMaybe<Scalars['String']['input']>;\n id_equals?: InputMaybe<Scalars['String']['input']>;\n id_gt?: InputMaybe<Scalars['String']['input']>;\n id_gteq?: InputMaybe<Scalars['String']['input']>;\n id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n id_lt?: InputMaybe<Scalars['String']['input']>;\n id_lteq?: InputMaybe<Scalars['String']['input']>;\n id_not_eq?: InputMaybe<Scalars['String']['input']>;\n id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n id_not_null?: InputMaybe<Scalars['String']['input']>;\n id_null?: InputMaybe<Scalars['String']['input']>;\n name_cont?: InputMaybe<Scalars['String']['input']>;\n name_contains?: InputMaybe<Scalars['String']['input']>;\n name_en_cont?: InputMaybe<Scalars['String']['input']>;\n name_en_contains?: InputMaybe<Scalars['String']['input']>;\n name_en_end?: InputMaybe<Scalars['String']['input']>;\n name_en_eq?: InputMaybe<Scalars['String']['input']>;\n name_en_equals?: InputMaybe<Scalars['String']['input']>;\n name_en_in?: InputMaybe<Array<Scalars['String']['input']>>;\n name_en_not_eq?: InputMaybe<Scalars['String']['input']>;\n name_en_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n name_en_not_null?: InputMaybe<Scalars['String']['input']>;\n name_en_null?: InputMaybe<Scalars['String']['input']>;\n name_en_start?: InputMaybe<Scalars['String']['input']>;\n name_end?: InputMaybe<Scalars['String']['input']>;\n name_eq?: InputMaybe<Scalars['String']['input']>;\n name_equals?: InputMaybe<Scalars['String']['input']>;\n name_in?: InputMaybe<Array<Scalars['String']['input']>>;\n name_not_eq?: InputMaybe<Scalars['String']['input']>;\n name_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n name_not_null?: InputMaybe<Scalars['String']['input']>;\n name_null?: InputMaybe<Scalars['String']['input']>;\n name_pl_cont?: InputMaybe<Scalars['String']['input']>;\n name_pl_contains?: InputMaybe<Scalars['String']['input']>;\n name_pl_end?: InputMaybe<Scalars['String']['input']>;\n name_pl_eq?: InputMaybe<Scalars['String']['input']>;\n name_pl_equals?: InputMaybe<Scalars['String']['input']>;\n name_pl_in?: InputMaybe<Array<Scalars['String']['input']>>;\n name_pl_not_eq?: InputMaybe<Scalars['String']['input']>;\n name_pl_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n name_pl_not_null?: InputMaybe<Scalars['String']['input']>;\n name_pl_null?: InputMaybe<Scalars['String']['input']>;\n name_pl_start?: InputMaybe<Scalars['String']['input']>;\n name_start?: InputMaybe<Scalars['String']['input']>;\n updated_at_eq?: InputMaybe<Scalars['String']['input']>;\n updated_at_equals?: InputMaybe<Scalars['String']['input']>;\n updated_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n updated_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n updated_at_not_null?: InputMaybe<Scalars['String']['input']>;\n updated_at_null?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport enum InsightsAggregation {\n Daily = 'DAILY',\n Hourly = 'HOURLY',\n Monthly = 'MONTHLY',\n Weekly = 'WEEKLY',\n}\n\nexport type Item = {\n __typename?: 'Item';\n count: Scalars['Float']['output'];\n id: Scalars['ID']['output'];\n order: Order;\n product?: Maybe<Product>;\n};\n\nexport type Metric = {\n __typename?: 'Metric';\n id: Scalars['ID']['output'];\n name: Scalars['String']['output'];\n};\n\nexport enum MetricTypeEnum {\n Counter = 'COUNTER',\n Empty = 'EMPTY',\n Indicator = 'INDICATOR',\n Kpi = 'KPI',\n Timer = 'TIMER',\n}\n\nexport enum MetricUnitEnum {\n Duration = 'DURATION',\n Percent = 'PERCENT',\n Round = 'ROUND',\n}\n\nexport type MetricValue = {\n __typename?: 'MetricValue';\n active: Scalars['Boolean']['output'];\n id: Scalars['ID']['output'];\n metricId: Scalars['String']['output'];\n statusColor: AndonLightColor;\n textValue?: Maybe<Scalars['String']['output']>;\n timer?: Maybe<Scalars['Int']['output']>;\n type: MetricTypeEnum;\n unit?: Maybe<MetricUnitEnum>;\n workplaceId: Scalars['String']['output'];\n};\n\nexport type Mutation = {\n __typename?: 'Mutation';\n assignOperatorToWorkplace: AssignOperatorToWorkplacePayload;\n bulkUpsertStaffingPlans: BulkUpsertStaffingPlansPayload;\n createDashboard: CreateDashboardPayload;\n createOrder: CreateOrderPayload;\n createProduct: CreateProductPayload;\n createStaffingPlan: CreateStaffingPlanPayload;\n createStatusChange: CreateStatusChangePayload;\n createUserPresence: CreateUserPresencePayload;\n createWidget: CreateWidgetPayload;\n pauseOrderExecution: PauseOrderExecutionPayload;\n removeDashboard: RemoveDashboardPayload;\n removeStaffingPlan: RemoveStaffingPlanPayload;\n removeUserPresence: RemoveUserPresencePayload;\n removeWidget: RemoveWidgetPayload;\n removeWorkplaceUsersPresences: RemoveWorkplaceUsersPresencesPayload;\n requestFeatureAccess: RequestFeatureAccessMutationPayload;\n setCounter: SetCounterPayload;\n startOrderExecution: StartOrderExecutionPayload;\n startTrial: StartTrialMutationPayload;\n stopOrderExecution: StopOrderExecutionPayload;\n unassignOperatorFromWorkplace: UnassignOperatorFromWorkplacePayload;\n updateDashboard: UpdateDashboardPayload;\n updateNotification: UpdateNotificationPayload;\n updateOrder: UpdateOrderPayload;\n updateOrderExecution: UpdateOrderExecutionPayload;\n updateStaffingPlan: UpdateStaffingPlanPayload;\n updateStatusChange: UpdateStatusChangePayload;\n updateWidget: UpdateWidgetPayload;\n updateWorkOrder: UpdateWorkOrderPayload;\n};\n\nexport type MutationAssignOperatorToWorkplaceArgs = {\n input: AssignOperatorInput;\n};\n\nexport type MutationBulkUpsertStaffingPlansArgs = {\n input: BulkStaffingPlanInput;\n};\n\nexport type MutationCreateDashboardArgs = {\n filters?: InputMaybe<Scalars['String']['input']>;\n gridLayout?: InputMaybe<Scalars['String']['input']>;\n id: Scalars['ID']['input'];\n name: Scalars['String']['input'];\n};\n\nexport type MutationCreateOrderArgs = {\n id: Scalars['ID']['input'];\n number: Scalars['String']['input'];\n};\n\nexport type MutationCreateProductArgs = {\n id: Scalars['ID']['input'];\n name?: InputMaybe<Scalars['String']['input']>;\n number: Scalars['String']['input'];\n};\n\nexport type MutationCreateStaffingPlanArgs = {\n input: StaffingPlanInput;\n};\n\nexport type MutationCreateStatusChangeArgs = {\n id: Scalars['ID']['input'];\n note?: InputMaybe<Scalars['String']['input']>;\n reasonHasBeenRecommended?: InputMaybe<Scalars['Boolean']['input']>;\n reasonId: Scalars['ID']['input'];\n startedAt?: InputMaybe<Scalars['String']['input']>;\n userId?: InputMaybe<Scalars['ID']['input']>;\n workplaceId: Scalars['ID']['input'];\n};\n\nexport type MutationCreateUserPresenceArgs = {\n id: Scalars['ID']['input'];\n userToken: Scalars['String']['input'];\n workplaceId: Scalars['ID']['input'];\n};\n\nexport type MutationCreateWidgetArgs = {\n config?: InputMaybe<Scalars['String']['input']>;\n id: Scalars['ID']['input'];\n};\n\nexport type MutationPauseOrderExecutionArgs = {\n id: Scalars['ID']['input'];\n statusChangeId: Scalars['ID']['input'];\n};\n\nexport type MutationRemoveDashboardArgs = {\n id: Scalars['ID']['input'];\n};\n\nexport type MutationRemoveStaffingPlanArgs = {\n id: Scalars['ID']['input'];\n};\n\nexport type MutationRemoveUserPresenceArgs = {\n id: Scalars['ID']['input'];\n};\n\nexport type MutationRemoveWidgetArgs = {\n id: Scalars['ID']['input'];\n};\n\nexport type MutationRemoveWorkplaceUsersPresencesArgs = {\n workplaceId: Scalars['ID']['input'];\n};\n\nexport type MutationRequestFeatureAccessArgs = {\n input: RequestFeatureAccessInput;\n};\n\nexport type MutationSetCounterArgs = {\n id: Scalars['ID']['input'];\n note?: InputMaybe<Scalars['String']['input']>;\n orderExecutionId?: InputMaybe<Scalars['ID']['input']>;\n value: Scalars['Float']['input'];\n};\n\nexport type MutationStartOrderExecutionArgs = {\n id: Scalars['ID']['input'];\n itemCount?: InputMaybe<Scalars['Float']['input']>;\n order: OrderInput;\n product?: InputMaybe<ProductInput>;\n statusChangeId: Scalars['ID']['input'];\n workplaceId: Scalars['ID']['input'];\n};\n\nexport type MutationStartTrialArgs = {\n input: StartTrialInput;\n};\n\nexport type MutationStopOrderExecutionArgs = {\n id: Scalars['ID']['input'];\n statusChangeId: Scalars['ID']['input'];\n};\n\nexport type MutationUnassignOperatorFromWorkplaceArgs = {\n input: UnassignOperatorInput;\n};\n\nexport type MutationUpdateDashboardArgs = {\n filters?: InputMaybe<Scalars['String']['input']>;\n gridLayout: Scalars['String']['input'];\n id: Scalars['ID']['input'];\n name?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type MutationUpdateNotificationArgs = {\n id: Scalars['ID']['input'];\n status: Scalars['String']['input'];\n};\n\nexport type MutationUpdateOrderArgs = {\n input: UpdateOrderInput;\n};\n\nexport type MutationUpdateOrderExecutionArgs = {\n id: Scalars['ID']['input'];\n standardRateId: Scalars['ID']['input'];\n};\n\nexport type MutationUpdateStaffingPlanArgs = {\n input: StaffingPlanUpdateInput;\n};\n\nexport type MutationUpdateStatusChangeArgs = {\n input: UpdateStatusChangeInput;\n};\n\nexport type MutationUpdateWidgetArgs = {\n config: Scalars['String']['input'];\n id: Scalars['ID']['input'];\n};\n\nexport type MutationUpdateWorkOrderArgs = {\n id: Scalars['ID']['input'];\n input: UpdateWorkOrderInput;\n};\n\nexport type MutationError = {\n __typename?: 'MutationError';\n field?: Maybe<Scalars['String']['output']>;\n messages: Array<Scalars['String']['output']>;\n};\n\nexport type Notification = {\n __typename?: 'Notification';\n channel?: Maybe<Scalars['String']['output']>;\n details?: Maybe<Scalars['String']['output']>;\n emitterId: Scalars['String']['output'];\n emitterType: Scalars['String']['output'];\n id: Scalars['ID']['output'];\n message: Scalars['String']['output'];\n receiverId: Scalars['String']['output'];\n receiverType: Scalars['String']['output'];\n status?: Maybe<Scalars['String']['output']>;\n};\n\nexport type NotificationFilter = {\n channel_eq?: InputMaybe<Scalars['String']['input']>;\n channel_equals?: InputMaybe<Scalars['String']['input']>;\n channel_gt?: InputMaybe<Scalars['String']['input']>;\n channel_gteq?: InputMaybe<Scalars['String']['input']>;\n channel_in?: InputMaybe<Array<Scalars['String']['input']>>;\n channel_lt?: InputMaybe<Scalars['String']['input']>;\n channel_lteq?: InputMaybe<Scalars['String']['input']>;\n channel_not_eq?: InputMaybe<Scalars['String']['input']>;\n channel_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n channel_not_null?: InputMaybe<Scalars['String']['input']>;\n channel_null?: InputMaybe<Scalars['String']['input']>;\n company_id_eq?: InputMaybe<Scalars['String']['input']>;\n company_id_equals?: InputMaybe<Scalars['String']['input']>;\n company_id_gt?: InputMaybe<Scalars['String']['input']>;\n company_id_gteq?: InputMaybe<Scalars['String']['input']>;\n company_id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n company_id_lt?: InputMaybe<Scalars['String']['input']>;\n company_id_lteq?: InputMaybe<Scalars['String']['input']>;\n company_id_not_eq?: InputMaybe<Scalars['String']['input']>;\n company_id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n company_id_not_null?: InputMaybe<Scalars['String']['input']>;\n company_id_null?: InputMaybe<Scalars['String']['input']>;\n created_at_eq?: InputMaybe<Scalars['String']['input']>;\n created_at_equals?: InputMaybe<Scalars['String']['input']>;\n created_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n created_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n created_at_not_null?: InputMaybe<Scalars['String']['input']>;\n created_at_null?: InputMaybe<Scalars['String']['input']>;\n details_cont?: InputMaybe<Scalars['String']['input']>;\n details_contains?: InputMaybe<Scalars['String']['input']>;\n details_end?: InputMaybe<Scalars['String']['input']>;\n details_eq?: InputMaybe<Scalars['String']['input']>;\n details_equals?: InputMaybe<Scalars['String']['input']>;\n details_in?: InputMaybe<Array<Scalars['String']['input']>>;\n details_not_eq?: InputMaybe<Scalars['String']['input']>;\n details_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n details_not_null?: InputMaybe<Scalars['String']['input']>;\n details_null?: InputMaybe<Scalars['String']['input']>;\n details_start?: InputMaybe<Scalars['String']['input']>;\n emitter_id_eq?: InputMaybe<Scalars['String']['input']>;\n emitter_id_equals?: InputMaybe<Scalars['String']['input']>;\n emitter_id_gt?: InputMaybe<Scalars['String']['input']>;\n emitter_id_gteq?: InputMaybe<Scalars['String']['input']>;\n emitter_id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n emitter_id_lt?: InputMaybe<Scalars['String']['input']>;\n emitter_id_lteq?: InputMaybe<Scalars['String']['input']>;\n emitter_id_not_eq?: InputMaybe<Scalars['String']['input']>;\n emitter_id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n emitter_id_not_null?: InputMaybe<Scalars['String']['input']>;\n emitter_id_null?: InputMaybe<Scalars['String']['input']>;\n emitter_type_cont?: InputMaybe<Scalars['String']['input']>;\n emitter_type_contains?: InputMaybe<Scalars['String']['input']>;\n emitter_type_end?: InputMaybe<Scalars['String']['input']>;\n emitter_type_eq?: InputMaybe<Scalars['String']['input']>;\n emitter_type_equals?: InputMaybe<Scalars['String']['input']>;\n emitter_type_in?: InputMaybe<Array<Scalars['String']['input']>>;\n emitter_type_not_eq?: InputMaybe<Scalars['String']['input']>;\n emitter_type_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n emitter_type_not_null?: InputMaybe<Scalars['String']['input']>;\n emitter_type_null?: InputMaybe<Scalars['String']['input']>;\n emitter_type_start?: InputMaybe<Scalars['String']['input']>;\n id_eq?: InputMaybe<Scalars['String']['input']>;\n id_equals?: InputMaybe<Scalars['String']['input']>;\n id_gt?: InputMaybe<Scalars['String']['input']>;\n id_gteq?: InputMaybe<Scalars['String']['input']>;\n id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n id_lt?: InputMaybe<Scalars['String']['input']>;\n id_lteq?: InputMaybe<Scalars['String']['input']>;\n id_not_eq?: InputMaybe<Scalars['String']['input']>;\n id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n id_not_null?: InputMaybe<Scalars['String']['input']>;\n id_null?: InputMaybe<Scalars['String']['input']>;\n message_cont?: InputMaybe<Scalars['String']['input']>;\n message_contains?: InputMaybe<Scalars['String']['input']>;\n message_end?: InputMaybe<Scalars['String']['input']>;\n message_eq?: InputMaybe<Scalars['String']['input']>;\n message_equals?: InputMaybe<Scalars['String']['input']>;\n message_in?: InputMaybe<Array<Scalars['String']['input']>>;\n message_not_eq?: InputMaybe<Scalars['String']['input']>;\n message_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n message_not_null?: InputMaybe<Scalars['String']['input']>;\n message_null?: InputMaybe<Scalars['String']['input']>;\n message_start?: InputMaybe<Scalars['String']['input']>;\n message_symbol_cont?: InputMaybe<Scalars['String']['input']>;\n message_symbol_contains?: InputMaybe<Scalars['String']['input']>;\n message_symbol_end?: InputMaybe<Scalars['String']['input']>;\n message_symbol_eq?: InputMaybe<Scalars['String']['input']>;\n message_symbol_equals?: InputMaybe<Scalars['String']['input']>;\n message_symbol_in?: InputMaybe<Array<Scalars['String']['input']>>;\n message_symbol_not_eq?: InputMaybe<Scalars['String']['input']>;\n message_symbol_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n message_symbol_not_null?: InputMaybe<Scalars['String']['input']>;\n message_symbol_null?: InputMaybe<Scalars['String']['input']>;\n message_symbol_start?: InputMaybe<Scalars['String']['input']>;\n message_variables_contains?: InputMaybe<Scalars['String']['input']>;\n receiver_id_eq?: InputMaybe<Scalars['String']['input']>;\n receiver_id_equals?: InputMaybe<Scalars['String']['input']>;\n receiver_id_gt?: InputMaybe<Scalars['String']['input']>;\n receiver_id_gteq?: InputMaybe<Scalars['String']['input']>;\n receiver_id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n receiver_id_lt?: InputMaybe<Scalars['String']['input']>;\n receiver_id_lteq?: InputMaybe<Scalars['String']['input']>;\n receiver_id_not_eq?: InputMaybe<Scalars['String']['input']>;\n receiver_id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n receiver_id_not_null?: InputMaybe<Scalars['String']['input']>;\n receiver_id_null?: InputMaybe<Scalars['String']['input']>;\n receiver_type_cont?: InputMaybe<Scalars['String']['input']>;\n receiver_type_contains?: InputMaybe<Scalars['String']['input']>;\n receiver_type_end?: InputMaybe<Scalars['String']['input']>;\n receiver_type_eq?: InputMaybe<Scalars['String']['input']>;\n receiver_type_equals?: InputMaybe<Scalars['String']['input']>;\n receiver_type_in?: InputMaybe<Array<Scalars['String']['input']>>;\n receiver_type_not_eq?: InputMaybe<Scalars['String']['input']>;\n receiver_type_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n receiver_type_not_null?: InputMaybe<Scalars['String']['input']>;\n receiver_type_null?: InputMaybe<Scalars['String']['input']>;\n receiver_type_start?: InputMaybe<Scalars['String']['input']>;\n status_eq?: InputMaybe<Scalars['String']['input']>;\n status_equals?: InputMaybe<Scalars['String']['input']>;\n status_gt?: InputMaybe<Scalars['String']['input']>;\n status_gteq?: InputMaybe<Scalars['String']['input']>;\n status_in?: InputMaybe<Array<Scalars['String']['input']>>;\n status_lt?: InputMaybe<Scalars['String']['input']>;\n status_lteq?: InputMaybe<Scalars['String']['input']>;\n status_not_eq?: InputMaybe<Scalars['String']['input']>;\n status_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n status_not_null?: InputMaybe<Scalars['String']['input']>;\n status_null?: InputMaybe<Scalars['String']['input']>;\n updated_at_eq?: InputMaybe<Scalars['String']['input']>;\n updated_at_equals?: InputMaybe<Scalars['String']['input']>;\n updated_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n updated_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n updated_at_not_null?: InputMaybe<Scalars['String']['input']>;\n updated_at_null?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type Order = {\n __typename?: 'Order';\n executedCount: Scalars['Int']['output'];\n finishedAt?: Maybe<Scalars['String']['output']>;\n id: Scalars['ID']['output'];\n items: Array<Item>;\n note?: Maybe<Scalars['String']['output']>;\n number: Scalars['String']['output'];\n plannedCount: Scalars['Int']['output'];\n position?: Maybe<Scalars['Int']['output']>;\n startedAt?: Maybe<Scalars['String']['output']>;\n workplaces: Array<Workplace>;\n};\n\nexport type OrderConfig = {\n __typename?: 'OrderConfig';\n alternativeName: Scalars['Boolean']['output'];\n numberPrefix?: Maybe<Scalars['String']['output']>;\n numberRegexp?: Maybe<Scalars['String']['output']>;\n};\n\nexport type OrderExecution = {\n __typename?: 'OrderExecution';\n finishedAt?: Maybe<Scalars['String']['output']>;\n id: Scalars['ID']['output'];\n item?: Maybe<Item>;\n itemCount?: Maybe<Scalars['Float']['output']>;\n note?: Maybe<Scalars['String']['output']>;\n order: Order;\n product?: Maybe<Product>;\n standardRateMismatched: Scalars['Boolean']['output'];\n startedAt: Scalars['String']['output'];\n workplaceId: Scalars['String']['output'];\n};\n\nexport type OrderExecutionConfig = {\n __typename?: 'OrderExecutionConfig';\n afterPauseReasonId?: Maybe<Scalars['String']['output']>;\n afterStartReasonId?: Maybe<Scalars['String']['output']>;\n afterStopReasonId?: Maybe<Scalars['String']['output']>;\n featureEnabled: Scalars['Boolean']['output'];\n formOrderFields: Array<Scalars['String']['output']>;\n formProductFields: Array<Scalars['String']['output']>;\n formQuantityFields: Array<Scalars['String']['output']>;\n itemCountUnit: Scalars['String']['output'];\n noPlanCanCreateOrderNote?: Maybe<Scalars['String']['output']>;\n noPlanNeedVerificationNote?: Maybe<Scalars['String']['output']>;\n orderInternalNoteText?: Maybe<Scalars['String']['output']>;\n orderInternalNoteTitle?: Maybe<Scalars['String']['output']>;\n productInternalNoteText?: Maybe<Scalars['String']['output']>;\n productInternalNoteTitle?: Maybe<Scalars['String']['output']>;\n quantityInternalNoteText?: Maybe<Scalars['String']['output']>;\n quantityInternalNoteTitle?: Maybe<Scalars['String']['output']>;\n stopEnabled: Scalars['Boolean']['output'];\n};\n\nexport type OrderExecutionFilter = {\n company_id_eq?: InputMaybe<Scalars['String']['input']>;\n company_id_equals?: InputMaybe<Scalars['String']['input']>;\n company_id_gt?: InputMaybe<Scalars['String']['input']>;\n company_id_gteq?: InputMaybe<Scalars['String']['input']>;\n company_id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n company_id_lt?: InputMaybe<Scalars['String']['input']>;\n company_id_lteq?: InputMaybe<Scalars['String']['input']>;\n company_id_not_eq?: InputMaybe<Scalars['String']['input']>;\n company_id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n company_id_not_null?: InputMaybe<Scalars['String']['input']>;\n company_id_null?: InputMaybe<Scalars['String']['input']>;\n created_at_eq?: InputMaybe<Scalars['String']['input']>;\n created_at_equals?: InputMaybe<Scalars['String']['input']>;\n created_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n created_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n created_at_not_null?: InputMaybe<Scalars['String']['input']>;\n created_at_null?: InputMaybe<Scalars['String']['input']>;\n deleted_at_eq?: InputMaybe<Scalars['String']['input']>;\n deleted_at_equals?: InputMaybe<Scalars['String']['input']>;\n deleted_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n deleted_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n deleted_at_not_null?: InputMaybe<Scalars['String']['input']>;\n deleted_at_null?: InputMaybe<Scalars['String']['input']>;\n finished_at_eq?: InputMaybe<Scalars['String']['input']>;\n finished_at_equals?: InputMaybe<Scalars['String']['input']>;\n finished_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n finished_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n finished_at_not_null?: InputMaybe<Scalars['String']['input']>;\n finished_at_null?: InputMaybe<Scalars['String']['input']>;\n id_eq?: InputMaybe<Scalars['String']['input']>;\n id_equals?: InputMaybe<Scalars['String']['input']>;\n id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n id_not_eq?: InputMaybe<Scalars['String']['input']>;\n id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n id_not_null?: InputMaybe<Scalars['String']['input']>;\n id_null?: InputMaybe<Scalars['String']['input']>;\n note_cont?: InputMaybe<Scalars['String']['input']>;\n note_contains?: InputMaybe<Scalars['String']['input']>;\n note_end?: InputMaybe<Scalars['String']['input']>;\n note_eq?: InputMaybe<Scalars['String']['input']>;\n note_equals?: InputMaybe<Scalars['String']['input']>;\n note_in?: InputMaybe<Array<Scalars['String']['input']>>;\n note_not_eq?: InputMaybe<Scalars['String']['input']>;\n note_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n note_not_null?: InputMaybe<Scalars['String']['input']>;\n note_null?: InputMaybe<Scalars['String']['input']>;\n note_start?: InputMaybe<Scalars['String']['input']>;\n order_id_eq?: InputMaybe<Scalars['String']['input']>;\n order_id_equals?: InputMaybe<Scalars['String']['input']>;\n order_id_gt?: InputMaybe<Scalars['String']['input']>;\n order_id_gteq?: InputMaybe<Scalars['String']['input']>;\n order_id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n order_id_lt?: InputMaybe<Scalars['String']['input']>;\n order_id_lteq?: InputMaybe<Scalars['String']['input']>;\n order_id_not_eq?: InputMaybe<Scalars['String']['input']>;\n order_id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n order_id_not_null?: InputMaybe<Scalars['String']['input']>;\n order_id_null?: InputMaybe<Scalars['String']['input']>;\n period?: InputMaybe<Period>;\n product_id_eq?: InputMaybe<Scalars['String']['input']>;\n product_id_equals?: InputMaybe<Scalars['String']['input']>;\n product_id_gt?: InputMaybe<Scalars['String']['input']>;\n product_id_gteq?: InputMaybe<Scalars['String']['input']>;\n product_id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n product_id_lt?: InputMaybe<Scalars['String']['input']>;\n product_id_lteq?: InputMaybe<Scalars['String']['input']>;\n product_id_not_eq?: InputMaybe<Scalars['String']['input']>;\n product_id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n product_id_not_null?: InputMaybe<Scalars['String']['input']>;\n product_id_null?: InputMaybe<Scalars['String']['input']>;\n quantity_eq?: InputMaybe<Scalars['String']['input']>;\n quantity_equals?: InputMaybe<Scalars['String']['input']>;\n quantity_gt?: InputMaybe<Scalars['String']['input']>;\n quantity_gteq?: InputMaybe<Scalars['String']['input']>;\n quantity_in?: InputMaybe<Array<Scalars['String']['input']>>;\n quantity_lt?: InputMaybe<Scalars['String']['input']>;\n quantity_lteq?: InputMaybe<Scalars['String']['input']>;\n quantity_not_eq?: InputMaybe<Scalars['String']['input']>;\n quantity_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n quantity_not_null?: InputMaybe<Scalars['String']['input']>;\n quantity_null?: InputMaybe<Scalars['String']['input']>;\n standard_rate_id_eq?: InputMaybe<Scalars['String']['input']>;\n standard_rate_id_equals?: InputMaybe<Scalars['String']['input']>;\n standard_rate_id_gt?: InputMaybe<Scalars['String']['input']>;\n standard_rate_id_gteq?: InputMaybe<Scalars['String']['input']>;\n standard_rate_id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n standard_rate_id_lt?: InputMaybe<Scalars['String']['input']>;\n standard_rate_id_lteq?: InputMaybe<Scalars['String']['input']>;\n standard_rate_id_not_eq?: InputMaybe<Scalars['String']['input']>;\n standard_rate_id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n standard_rate_id_not_null?: InputMaybe<Scalars['String']['input']>;\n standard_rate_id_null?: InputMaybe<Scalars['String']['input']>;\n started_at_eq?: InputMaybe<Scalars['String']['input']>;\n started_at_equals?: InputMaybe<Scalars['String']['input']>;\n started_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n started_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n started_at_not_null?: InputMaybe<Scalars['String']['input']>;\n started_at_null?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_eq?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_equals?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_gt?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_gteq?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n subgroup_id_lt?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_lteq?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_not_eq?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n subgroup_id_not_null?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_null?: InputMaybe<Scalars['String']['input']>;\n updated_at_eq?: InputMaybe<Scalars['String']['input']>;\n updated_at_equals?: InputMaybe<Scalars['String']['input']>;\n updated_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n updated_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n updated_at_not_null?: InputMaybe<Scalars['String']['input']>;\n updated_at_null?: InputMaybe<Scalars['String']['input']>;\n workplace_id_cont?: InputMaybe<Scalars['String']['input']>;\n workplace_id_contains?: InputMaybe<Scalars['String']['input']>;\n workplace_id_end?: InputMaybe<Scalars['String']['input']>;\n workplace_id_eq?: InputMaybe<Scalars['String']['input']>;\n workplace_id_equals?: InputMaybe<Scalars['String']['input']>;\n workplace_id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n workplace_id_not_eq?: InputMaybe<Scalars['String']['input']>;\n workplace_id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n workplace_id_not_null?: InputMaybe<Scalars['String']['input']>;\n workplace_id_null?: InputMaybe<Scalars['String']['input']>;\n workplace_id_start?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type OrderFilter = {\n closure_reason_eq?: InputMaybe<Scalars['String']['input']>;\n closure_reason_equals?: InputMaybe<Scalars['String']['input']>;\n closure_reason_gt?: InputMaybe<Scalars['String']['input']>;\n closure_reason_gteq?: InputMaybe<Scalars['String']['input']>;\n closure_reason_in?: InputMaybe<Array<Scalars['String']['input']>>;\n closure_reason_lt?: InputMaybe<Scalars['String']['input']>;\n closure_reason_lteq?: InputMaybe<Scalars['String']['input']>;\n closure_reason_not_eq?: InputMaybe<Scalars['String']['input']>;\n closure_reason_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n closure_reason_not_null?: InputMaybe<Scalars['String']['input']>;\n closure_reason_null?: InputMaybe<Scalars['String']['input']>;\n company_id_eq?: InputMaybe<Scalars['String']['input']>;\n company_id_equals?: InputMaybe<Scalars['String']['input']>;\n company_id_gt?: InputMaybe<Scalars['String']['input']>;\n company_id_gteq?: InputMaybe<Scalars['String']['input']>;\n company_id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n company_id_lt?: InputMaybe<Scalars['String']['input']>;\n company_id_lteq?: InputMaybe<Scalars['String']['input']>;\n company_id_not_eq?: InputMaybe<Scalars['String']['input']>;\n company_id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n company_id_not_null?: InputMaybe<Scalars['String']['input']>;\n company_id_null?: InputMaybe<Scalars['String']['input']>;\n created_at_eq?: InputMaybe<Scalars['String']['input']>;\n created_at_equals?: InputMaybe<Scalars['String']['input']>;\n created_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n created_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n created_at_not_null?: InputMaybe<Scalars['String']['input']>;\n created_at_null?: InputMaybe<Scalars['String']['input']>;\n deleted_at_eq?: InputMaybe<Scalars['String']['input']>;\n deleted_at_equals?: InputMaybe<Scalars['String']['input']>;\n deleted_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n deleted_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n deleted_at_not_null?: InputMaybe<Scalars['String']['input']>;\n deleted_at_null?: InputMaybe<Scalars['String']['input']>;\n finished_at_eq?: InputMaybe<Scalars['String']['input']>;\n finished_at_equals?: InputMaybe<Scalars['String']['input']>;\n finished_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n finished_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n finished_at_not_null?: InputMaybe<Scalars['String']['input']>;\n finished_at_null?: InputMaybe<Scalars['String']['input']>;\n id_eq?: InputMaybe<Scalars['String']['input']>;\n id_equals?: InputMaybe<Scalars['String']['input']>;\n id_gt?: InputMaybe<Scalars['String']['input']>;\n id_gteq?: InputMaybe<Scalars['String']['input']>;\n id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n id_lt?: InputMaybe<Scalars['String']['input']>;\n id_lteq?: InputMaybe<Scalars['String']['input']>;\n id_not_eq?: InputMaybe<Scalars['String']['input']>;\n id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n id_not_null?: InputMaybe<Scalars['String']['input']>;\n id_null?: InputMaybe<Scalars['String']['input']>;\n item_count_eq?: InputMaybe<Scalars['String']['input']>;\n item_count_equals?: InputMaybe<Scalars['String']['input']>;\n item_count_gt?: InputMaybe<Scalars['String']['input']>;\n item_count_gteq?: InputMaybe<Scalars['String']['input']>;\n item_count_in?: InputMaybe<Array<Scalars['String']['input']>>;\n item_count_lt?: InputMaybe<Scalars['String']['input']>;\n item_count_lteq?: InputMaybe<Scalars['String']['input']>;\n item_count_not_eq?: InputMaybe<Scalars['String']['input']>;\n item_count_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n item_count_not_null?: InputMaybe<Scalars['String']['input']>;\n item_count_null?: InputMaybe<Scalars['String']['input']>;\n item_number_cont?: InputMaybe<Scalars['String']['input']>;\n item_number_contains?: InputMaybe<Scalars['String']['input']>;\n item_number_end?: InputMaybe<Scalars['String']['input']>;\n item_number_eq?: InputMaybe<Scalars['String']['input']>;\n item_number_equals?: InputMaybe<Scalars['String']['input']>;\n item_number_in?: InputMaybe<Array<Scalars['String']['input']>>;\n item_number_not_eq?: InputMaybe<Scalars['String']['input']>;\n item_number_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n item_number_not_null?: InputMaybe<Scalars['String']['input']>;\n item_number_null?: InputMaybe<Scalars['String']['input']>;\n item_number_start?: InputMaybe<Scalars['String']['input']>;\n last_production_activity_at_eq?: InputMaybe<Scalars['String']['input']>;\n last_production_activity_at_equals?: InputMaybe<Scalars['String']['input']>;\n last_production_activity_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n last_production_activity_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n last_production_activity_at_not_null?: InputMaybe<Scalars['String']['input']>;\n last_production_activity_at_null?: InputMaybe<Scalars['String']['input']>;\n note_cont?: InputMaybe<Scalars['String']['input']>;\n note_contains?: InputMaybe<Scalars['String']['input']>;\n note_end?: InputMaybe<Scalars['String']['input']>;\n note_eq?: InputMaybe<Scalars['String']['input']>;\n note_equals?: InputMaybe<Scalars['String']['input']>;\n note_in?: InputMaybe<Array<Scalars['String']['input']>>;\n note_not_eq?: InputMaybe<Scalars['String']['input']>;\n note_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n note_not_null?: InputMaybe<Scalars['String']['input']>;\n note_null?: InputMaybe<Scalars['String']['input']>;\n note_start?: InputMaybe<Scalars['String']['input']>;\n order_number_cont?: InputMaybe<Scalars['String']['input']>;\n order_number_contains?: InputMaybe<Scalars['String']['input']>;\n order_number_end?: InputMaybe<Scalars['String']['input']>;\n order_number_eq?: InputMaybe<Scalars['String']['input']>;\n order_number_equals?: InputMaybe<Scalars['String']['input']>;\n order_number_in?: InputMaybe<Array<Scalars['String']['input']>>;\n order_number_not_eq?: InputMaybe<Scalars['String']['input']>;\n order_number_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n order_number_not_null?: InputMaybe<Scalars['String']['input']>;\n order_number_null?: InputMaybe<Scalars['String']['input']>;\n order_number_start?: InputMaybe<Scalars['String']['input']>;\n position_eq?: InputMaybe<Scalars['String']['input']>;\n position_equals?: InputMaybe<Scalars['String']['input']>;\n position_gt?: InputMaybe<Scalars['String']['input']>;\n position_gteq?: InputMaybe<Scalars['String']['input']>;\n position_in?: InputMaybe<Array<Scalars['String']['input']>>;\n position_lt?: InputMaybe<Scalars['String']['input']>;\n position_lteq?: InputMaybe<Scalars['String']['input']>;\n position_not_eq?: InputMaybe<Scalars['String']['input']>;\n position_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n position_not_null?: InputMaybe<Scalars['String']['input']>;\n position_null?: InputMaybe<Scalars['String']['input']>;\n product_number_cont?: InputMaybe<Scalars['String']['input']>;\n product_number_contains?: InputMaybe<Scalars['String']['input']>;\n product_number_end?: InputMaybe<Scalars['String']['input']>;\n product_number_eq?: InputMaybe<Scalars['String']['input']>;\n product_number_equals?: InputMaybe<Scalars['String']['input']>;\n product_number_in?: InputMaybe<Array<Scalars['String']['input']>>;\n product_number_not_eq?: InputMaybe<Scalars['String']['input']>;\n product_number_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n product_number_not_null?: InputMaybe<Scalars['String']['input']>;\n product_number_null?: InputMaybe<Scalars['String']['input']>;\n product_number_start?: InputMaybe<Scalars['String']['input']>;\n product_sap_number_cont?: InputMaybe<Scalars['String']['input']>;\n product_sap_number_contains?: InputMaybe<Scalars['String']['input']>;\n product_sap_number_end?: InputMaybe<Scalars['String']['input']>;\n product_sap_number_eq?: InputMaybe<Scalars['String']['input']>;\n product_sap_number_equals?: InputMaybe<Scalars['String']['input']>;\n product_sap_number_in?: InputMaybe<Array<Scalars['String']['input']>>;\n product_sap_number_not_eq?: InputMaybe<Scalars['String']['input']>;\n product_sap_number_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n product_sap_number_not_null?: InputMaybe<Scalars['String']['input']>;\n product_sap_number_null?: InputMaybe<Scalars['String']['input']>;\n product_sap_number_start?: InputMaybe<Scalars['String']['input']>;\n sap_number_cont?: InputMaybe<Scalars['String']['input']>;\n sap_number_contains?: InputMaybe<Scalars['String']['input']>;\n sap_number_end?: InputMaybe<Scalars['String']['input']>;\n sap_number_eq?: InputMaybe<Scalars['String']['input']>;\n sap_number_equals?: InputMaybe<Scalars['String']['input']>;\n sap_number_in?: InputMaybe<Array<Scalars['String']['input']>>;\n sap_number_not_eq?: InputMaybe<Scalars['String']['input']>;\n sap_number_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n sap_number_not_null?: InputMaybe<Scalars['String']['input']>;\n sap_number_null?: InputMaybe<Scalars['String']['input']>;\n sap_number_start?: InputMaybe<Scalars['String']['input']>;\n started_at_eq?: InputMaybe<Scalars['String']['input']>;\n started_at_equals?: InputMaybe<Scalars['String']['input']>;\n started_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n started_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n started_at_not_null?: InputMaybe<Scalars['String']['input']>;\n started_at_null?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_eq?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_equals?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_gt?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_gteq?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n subgroup_id_lt?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_lteq?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_not_eq?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n subgroup_id_not_null?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_null?: InputMaybe<Scalars['String']['input']>;\n updated_at_eq?: InputMaybe<Scalars['String']['input']>;\n updated_at_equals?: InputMaybe<Scalars['String']['input']>;\n updated_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n updated_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n updated_at_not_null?: InputMaybe<Scalars['String']['input']>;\n updated_at_null?: InputMaybe<Scalars['String']['input']>;\n user_id_eq?: InputMaybe<Scalars['String']['input']>;\n user_id_equals?: InputMaybe<Scalars['String']['input']>;\n user_id_gt?: InputMaybe<Scalars['String']['input']>;\n user_id_gteq?: InputMaybe<Scalars['String']['input']>;\n user_id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n user_id_lt?: InputMaybe<Scalars['String']['input']>;\n user_id_lteq?: InputMaybe<Scalars['String']['input']>;\n user_id_not_eq?: InputMaybe<Scalars['String']['input']>;\n user_id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n user_id_not_null?: InputMaybe<Scalars['String']['input']>;\n user_id_null?: InputMaybe<Scalars['String']['input']>;\n uuid_eq?: InputMaybe<Scalars['String']['input']>;\n uuid_equals?: InputMaybe<Scalars['String']['input']>;\n uuid_in?: InputMaybe<Array<Scalars['String']['input']>>;\n uuid_not_eq?: InputMaybe<Scalars['String']['input']>;\n uuid_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n uuid_not_null?: InputMaybe<Scalars['String']['input']>;\n uuid_null?: InputMaybe<Scalars['String']['input']>;\n workplaces_id_eq?: InputMaybe<Scalars['String']['input']>;\n workplaces_id_equals?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type OrderInput = {\n id: Scalars['ID']['input'];\n number: Scalars['String']['input'];\n};\n\n/** Autogenerated return type of PauseOrderExecution */\nexport type PauseOrderExecutionPayload = {\n __typename?: 'PauseOrderExecutionPayload';\n errors?: Maybe<Array<MutationError>>;\n orderExecution?: Maybe<OrderExecution>;\n};\n\nexport enum Period {\n CurrentShift = 'CURRENT_SHIFT',\n LastShift = 'LAST_SHIFT',\n}\n\nexport enum PresenceStatusEnum {\n NotPresent = 'NOT_PRESENT',\n Present = 'PRESENT',\n PresentElsewhere = 'PRESENT_ELSEWHERE',\n}\n\nexport type Product = {\n __typename?: 'Product';\n assemblyManual?: Maybe<Scalars['String']['output']>;\n id: Scalars['ID']['output'];\n name?: Maybe<Scalars['String']['output']>;\n number?: Maybe<Scalars['String']['output']>;\n};\n\nexport type ProductConfig = {\n __typename?: 'ProductConfig';\n alternativeName: Scalars['Boolean']['output'];\n numberPrefix?: Maybe<Scalars['String']['output']>;\n numberRegexp?: Maybe<Scalars['String']['output']>;\n};\n\nexport type ProductFilter = {\n company_id_eq?: InputMaybe<Scalars['String']['input']>;\n company_id_equals?: InputMaybe<Scalars['String']['input']>;\n company_id_gt?: InputMaybe<Scalars['String']['input']>;\n company_id_gteq?: InputMaybe<Scalars['String']['input']>;\n company_id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n company_id_lt?: InputMaybe<Scalars['String']['input']>;\n company_id_lteq?: InputMaybe<Scalars['String']['input']>;\n company_id_not_eq?: InputMaybe<Scalars['String']['input']>;\n company_id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n company_id_not_null?: InputMaybe<Scalars['String']['input']>;\n company_id_null?: InputMaybe<Scalars['String']['input']>;\n created_at_eq?: InputMaybe<Scalars['String']['input']>;\n created_at_equals?: InputMaybe<Scalars['String']['input']>;\n created_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n created_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n created_at_not_null?: InputMaybe<Scalars['String']['input']>;\n created_at_null?: InputMaybe<Scalars['String']['input']>;\n deleted_at_eq?: InputMaybe<Scalars['String']['input']>;\n deleted_at_equals?: InputMaybe<Scalars['String']['input']>;\n deleted_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n deleted_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n deleted_at_not_null?: InputMaybe<Scalars['String']['input']>;\n deleted_at_null?: InputMaybe<Scalars['String']['input']>;\n id_eq?: InputMaybe<Scalars['String']['input']>;\n id_equals?: InputMaybe<Scalars['String']['input']>;\n id_gt?: InputMaybe<Scalars['String']['input']>;\n id_gteq?: InputMaybe<Scalars['String']['input']>;\n id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n id_lt?: InputMaybe<Scalars['String']['input']>;\n id_lteq?: InputMaybe<Scalars['String']['input']>;\n id_not_eq?: InputMaybe<Scalars['String']['input']>;\n id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n id_not_null?: InputMaybe<Scalars['String']['input']>;\n id_null?: InputMaybe<Scalars['String']['input']>;\n name_cont?: InputMaybe<Scalars['String']['input']>;\n name_contains?: InputMaybe<Scalars['String']['input']>;\n name_en_cont?: InputMaybe<Scalars['String']['input']>;\n name_en_contains?: InputMaybe<Scalars['String']['input']>;\n name_en_end?: InputMaybe<Scalars['String']['input']>;\n name_en_eq?: InputMaybe<Scalars['String']['input']>;\n name_en_equals?: InputMaybe<Scalars['String']['input']>;\n name_en_in?: InputMaybe<Array<Scalars['String']['input']>>;\n name_en_not_eq?: InputMaybe<Scalars['String']['input']>;\n name_en_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n name_en_not_null?: InputMaybe<Scalars['String']['input']>;\n name_en_null?: InputMaybe<Scalars['String']['input']>;\n name_en_start?: InputMaybe<Scalars['String']['input']>;\n name_end?: InputMaybe<Scalars['String']['input']>;\n name_eq?: InputMaybe<Scalars['String']['input']>;\n name_equals?: InputMaybe<Scalars['String']['input']>;\n name_in?: InputMaybe<Array<Scalars['String']['input']>>;\n name_not_eq?: InputMaybe<Scalars['String']['input']>;\n name_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n name_not_null?: InputMaybe<Scalars['String']['input']>;\n name_null?: InputMaybe<Scalars['String']['input']>;\n name_or_number_cont?: InputMaybe<Scalars['String']['input']>;\n name_or_number_contains?: InputMaybe<Scalars['String']['input']>;\n name_or_number_end?: InputMaybe<Scalars['String']['input']>;\n name_or_number_eq?: InputMaybe<Scalars['String']['input']>;\n name_or_number_equals?: InputMaybe<Scalars['String']['input']>;\n name_or_number_in?: InputMaybe<Array<Scalars['String']['input']>>;\n name_or_number_not_eq?: InputMaybe<Scalars['String']['input']>;\n name_or_number_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n name_or_number_not_null?: InputMaybe<Scalars['String']['input']>;\n name_or_number_null?: InputMaybe<Scalars['String']['input']>;\n name_or_number_start?: InputMaybe<Scalars['String']['input']>;\n name_pl_cont?: InputMaybe<Scalars['String']['input']>;\n name_pl_contains?: InputMaybe<Scalars['String']['input']>;\n name_pl_end?: InputMaybe<Scalars['String']['input']>;\n name_pl_eq?: InputMaybe<Scalars['String']['input']>;\n name_pl_equals?: InputMaybe<Scalars['String']['input']>;\n name_pl_in?: InputMaybe<Array<Scalars['String']['input']>>;\n name_pl_not_eq?: InputMaybe<Scalars['String']['input']>;\n name_pl_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n name_pl_not_null?: InputMaybe<Scalars['String']['input']>;\n name_pl_null?: InputMaybe<Scalars['String']['input']>;\n name_pl_start?: InputMaybe<Scalars['String']['input']>;\n name_start?: InputMaybe<Scalars['String']['input']>;\n number_cont?: InputMaybe<Scalars['String']['input']>;\n number_contains?: InputMaybe<Scalars['String']['input']>;\n number_end?: InputMaybe<Scalars['String']['input']>;\n number_eq?: InputMaybe<Scalars['String']['input']>;\n number_equals?: InputMaybe<Scalars['String']['input']>;\n number_in?: InputMaybe<Array<Scalars['String']['input']>>;\n number_not_eq?: InputMaybe<Scalars['String']['input']>;\n number_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n number_not_null?: InputMaybe<Scalars['String']['input']>;\n number_null?: InputMaybe<Scalars['String']['input']>;\n number_start?: InputMaybe<Scalars['String']['input']>;\n orders_order_number_eq?: InputMaybe<Scalars['String']['input']>;\n orders_order_number_equals?: InputMaybe<Scalars['String']['input']>;\n sap_number_cont?: InputMaybe<Scalars['String']['input']>;\n sap_number_contains?: InputMaybe<Scalars['String']['input']>;\n sap_number_end?: InputMaybe<Scalars['String']['input']>;\n sap_number_eq?: InputMaybe<Scalars['String']['input']>;\n sap_number_equals?: InputMaybe<Scalars['String']['input']>;\n sap_number_in?: InputMaybe<Array<Scalars['String']['input']>>;\n sap_number_not_eq?: InputMaybe<Scalars['String']['input']>;\n sap_number_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n sap_number_not_null?: InputMaybe<Scalars['String']['input']>;\n sap_number_null?: InputMaybe<Scalars['String']['input']>;\n sap_number_start?: InputMaybe<Scalars['String']['input']>;\n updated_at_eq?: InputMaybe<Scalars['String']['input']>;\n updated_at_equals?: InputMaybe<Scalars['String']['input']>;\n updated_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n updated_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n updated_at_not_null?: InputMaybe<Scalars['String']['input']>;\n updated_at_null?: InputMaybe<Scalars['String']['input']>;\n uuid_eq?: InputMaybe<Scalars['String']['input']>;\n uuid_equals?: InputMaybe<Scalars['String']['input']>;\n uuid_in?: InputMaybe<Array<Scalars['String']['input']>>;\n uuid_not_eq?: InputMaybe<Scalars['String']['input']>;\n uuid_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n uuid_not_null?: InputMaybe<Scalars['String']['input']>;\n uuid_null?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type ProductInput = {\n id: Scalars['ID']['input'];\n name?: InputMaybe<Scalars['String']['input']>;\n number?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type ProductionInsightsEntry = {\n __typename?: 'ProductionInsightsEntry';\n count: Scalars['Int']['output'];\n label: Scalars['String']['output'];\n};\n\nexport type ProductionInsightsInput = {\n aggregation: InsightsAggregation;\n dateFrom: Scalars['ISO8601DateTime']['input'];\n dateTo: Scalars['ISO8601DateTime']['input'];\n dayType: DayType;\n};\n\nexport type ProductionInsightsResult = {\n __typename?: 'ProductionInsightsResult';\n entries: Array<ProductionInsightsEntry>;\n};\n\nexport enum ProductionMode {\n Manual = 'MANUAL',\n Planned = 'PLANNED',\n}\n\nexport type Query = {\n __typename?: 'Query';\n /**\n * Returns actual staffing counts based on user presences, compared against staffing plans.\n * Shows how many operators are checked in vs. the planned number.\n */\n actualStaffingCounts: Array<ActualStaffingCount>;\n /** Returns application information, including the current API version. */\n applicationInfo: ApplicationInfo;\n availabilityInsights: AvailabilityInsightsResult;\n /**\n * Returns the company configuration for the currently logged-in user,\n * including managed devices, displayed KPIs, role permissions,\n * status transition settings, and workplace configurations.\n */\n companyConfig: CompanyConfig;\n /**\n * Returns a list of counter directories, used to group counters at a workplace\n * into a logical hierarchical structure.\n */\n counterDirectories: Array<CounterDirectory>;\n /**\n * Returns production counters recorded per workplace.\n * - Each counter tracks either GOOD (produced pieces / good parts) or BAD (scrap / bad parts / defects).\n * - A workplace may have multiple counters.\n * - Counters may be grouped into counter directories for better organization.\n * - Counter values can be entered manually by operators or collected automatically from machines.\n * - A counter may also be locked, in which case no new pieces can be added.\n */\n counters: Array<Counter>;\n /** Returns the currently authenticated user. */\n currentUser: User;\n /**\n * Returns the list of dashboards available to the current user.\n *\n * A dashboard is a user-configured workspace containing widgets\n * (charts, KPIs, tables, status blocks, etc.) arranged in a chosen layout.\n * Dashboards are typically used for real-time production monitoring:\n * - displayed on large TV screens in factory halls,\n * - by supervisors, team leaders, or maintenance departments,\n * - to observe multiple workplaces at once.\n */\n dashboards: Array<Dashboard>;\n /**\n * Returns a list of departments available to the current user.\n *\n * A department is an organizational unit used to group workplaces,\n * employees, machines, and orders.\n */\n departments: Array<Department>;\n /**\n * Returns floor plans available to the current user.\n *\n * A floor plan is a dashboard widget showing a factory hall map with workplaces\n * placed on it. Workplaces change color and display information based on their\n * current production status.\n */\n floorPlans: Array<FloorPlan>;\n /**\n * Returns live KPI metric values for the current shift at workplaces\n * (e.g. performance, quality, availability, OEE, good and bad pieces).\n */\n metricValues: Array<MetricValue>;\n /**\n * Returns the list of all metrics available in the system (e.g. performance, quality, availability, OEE).\n * Use this query to discover metric names and definitions, not their live values.\n */\n metrics: Array<Metric>;\n /**\n * Returns system notifications (e.g. shift ended, too few operators at a workplace),\n * which are received and displayed on workplaces.\n */\n notifications: Array<Notification>;\n /**\n * Returns up to 100 most recent production orders available in the system.\n * Orders can have different planning states and execution statuses.\n */\n orders: Array<Order>;\n /**\n * Returns executions of production orders, representing individual runs of an order\n * (with produced quantities, operator, and status), from start until completion.\n * An order may have multiple executions, as it can be paused and resumed at different stages.\n */\n ordersExecutions: Array<OrderExecution>;\n productionInsights: ProductionInsightsResult;\n /**\n * Returns products from the system, which are used in production orders.\n * Supports search by product number and returns up to 10 matching results,\n * typically used when adding an existing product to an order form.\n */\n products: Array<Product>;\n /**\n * Returns the list of available statuses (reasons) that can be selected on a workplace.\n *\n * - Each status has a visual color (red, green, yellow, gray) shown in the UI.\n * - Each status also carries an availability state (working, stopped, planned_stop).\n * - Statuses are organized hierarchically and belong to a status dictionary (ReasonGroup),\n * which can be reused across multiple workplaces.\n * - When operators select statuses at a workplace, this creates a history of status changes,\n * representing how the workplace has been operating over time.\n */\n reasons: Array<Reason>;\n /**\n * Returns AI-based recommendations of the most likely next status (reason)\n * for a given workplace, based on analysis of previous operator activity.\n * Part of the SmartStatusAI module.\n */\n reasonsRecommendation?: Maybe<ReasonsRecommendation>;\n /**\n * Returns the list of work shifts configured for the organization.\n * A shift defines the working period of operators (start and end times),\n * used for scheduling, reporting, and tracking production activities.\n */\n shifts: Array<Shift>;\n /**\n * Returns staffing plans for workplaces.\n * Defines the recommended number of operators for a specific workplace, shift, and date.\n */\n staffingPlans: Array<StaffingPlan>;\n /**\n * Returns standard production rates defined for an order execution.\n * Standard rates specify expected output (e.g. good or bad pieces per hour,\n * per number of operators, and within a given time), allowing comparison of\n * actual performance with targets and supporting KPI calculations like quality or OEE.\n */\n standardRates: Array<StandardRate>;\n /**\n * Returns status change transition permissions, which define the allowed moves\n * between statuses (reasons) in the status dictionary.\n * These permissions form a transition matrix that can restrict changing\n * from one status to another depending on role and workplace.\n */\n statusChangeTransitionPermissions: Array<StatusChangeTransitionPermission>;\n /**\n * Returns status change records for workplaces, limited to the current shift.\n * A status change represents a continuous period in which a workplace has a given status (reason).\n * - Each change has a start and an optional end; if `finished_at` is null, the status is currently active.\n * - Only one status change can be active at a workplace at a time, ensuring linear continuity.\n * - Status changes may be created manually by operators or automatically by the system\n * (e.g. at order start/stop, shift change, operator log in/out).\n */\n statusChanges: Array<StatusChange>;\n statusInsights: StatusInsightsResult;\n /** Returns all users belonging to the company of the currently logged-in user. */\n users: Array<User>;\n /**\n * Returns user presence records at workplaces limited to the current shift.\n * A presence is created when an operator checks in at a workplace\n * and ends when they check out.\n *\n * These records indicate how many operators are working on a workplace during the shift,\n * provide history of who worked where and when, and are used in production metrics.\n */\n usersPresences: Array<UserPresence>;\n /**\n * DEPRECATED - use the widgets query instead.\n * Returns a single widget already placed on a dashboard.\n */\n widget: Widget;\n /**\n * Returns all widgets available on dashboards.\n * A widget is an autonomous element of a dashboard (e.g. floor plan, KPI metrics,\n * workplace monitor, list of orders, or PromQL-based charts).\n */\n widgets: Array<Widget>;\n /**\n * Returns all work orders from the CMMS module.\n * Work orders are used by the maintenance department to plan and track actions\n * such as inspections, repairs, and other maintenance tasks.\n */\n workOrders: Array<WorkOrder>;\n workOrdersInsights: WorkOrdersInsightsResult;\n /**\n * Returns workplace staffing overview for a specific shift and date.\n * Shows workplaces with assigned operators, their check-in status,\n * unassigned operators pool, and global summary.\n */\n workplaceAssignments: WorkplaceAssignmentsView;\n /** Returns performance analysis for workplaces within a specified time period. */\n workplacePerformanceInsights: WorkplacePerformanceInsightsResult;\n /**\n * Returns all workplaces available in the current organization.\n * A workplace represents a production station in the factory,\n * where operators perform tasks, orders are executed, and KPIs are tracked.\n */\n workplaces: Array<Workplace>;\n};\n\nexport type QueryActualStaffingCountsArgs = {\n filter?: InputMaybe<ActualStaffingCountFilter>;\n};\n\nexport type QueryAvailabilityInsightsArgs = {\n input: AvailabilityInsightsInput;\n};\n\nexport type QueryCounterDirectoriesArgs = {\n filter?: InputMaybe<CounterDirectoryFilter>;\n};\n\nexport type QueryCountersArgs = {\n filter?: InputMaybe<CounterFilter>;\n};\n\nexport type QueryDashboardsArgs = {\n filter?: InputMaybe<DashboardFilter>;\n};\n\nexport type QueryDepartmentsArgs = {\n filter?: InputMaybe<DepartmentFilter>;\n};\n\nexport type QueryFloorPlansArgs = {\n filter?: InputMaybe<FloorPlanFilter>;\n};\n\nexport type QueryMetricValuesArgs = {\n metricIds?: InputMaybe<Array<Scalars['ID']['input']>>;\n workplaceIds?: InputMaybe<Array<Scalars['ID']['input']>>;\n};\n\nexport type QueryNotificationsArgs = {\n filter?: InputMaybe<NotificationFilter>;\n};\n\nexport type QueryOrdersArgs = {\n filter?: InputMaybe<OrderFilter>;\n};\n\nexport type QueryOrdersExecutionsArgs = {\n filter?: InputMaybe<OrderExecutionFilter>;\n};\n\nexport type QueryProductionInsightsArgs = {\n input: ProductionInsightsInput;\n};\n\nexport type QueryProductsArgs = {\n filter?: InputMaybe<ProductFilter>;\n};\n\nexport type QueryReasonsArgs = {\n filter?: InputMaybe<ReasonFilter>;\n};\n\nexport type QueryReasonsRecommendationArgs = {\n workplaceId: Scalars['String']['input'];\n};\n\nexport type QueryStaffingPlansArgs = {\n filter?: InputMaybe<StaffingPlanFilter>;\n};\n\nexport type QueryStandardRatesArgs = {\n orderExecutionId: Scalars['ID']['input'];\n};\n\nexport type QueryStatusChangeTransitionPermissionsArgs = {\n filter?: InputMaybe<StatusChangeTransitionPermissionFilter>;\n};\n\nexport type QueryStatusChangesArgs = {\n filter?: InputMaybe<StatusChangeFilter>;\n};\n\nexport type QueryStatusInsightsArgs = {\n input: StatusInsightsInput;\n};\n\nexport type QueryUsersArgs = {\n filter?: InputMaybe<UserFilter>;\n};\n\nexport type QueryUsersPresencesArgs = {\n filter?: InputMaybe<UserPresenceFilter>;\n};\n\nexport type QueryWidgetArgs = {\n id: Scalars['ID']['input'];\n};\n\nexport type QueryWidgetsArgs = {\n filter?: InputMaybe<WidgetFilter>;\n};\n\nexport type QueryWorkOrdersArgs = {\n filter?: InputMaybe<WorkOrderFilter>;\n};\n\nexport type QueryWorkOrdersInsightsArgs = {\n input: WorkOrdersInsightsInput;\n};\n\nexport type QueryWorkplaceAssignmentsArgs = {\n input: WorkplaceAssignmentsInput;\n};\n\nexport type QueryWorkplacePerformanceInsightsArgs = {\n input: WorkplacePerformanceInsightsInput;\n};\n\nexport type QueryWorkplacesArgs = {\n filter?: InputMaybe<WorkplaceFilter>;\n};\n\nexport type Reason = {\n __typename?: 'Reason';\n acceptanceMonit: Scalars['Boolean']['output'];\n canBeRecommended: Scalars['Boolean']['output'];\n hasNote: Scalars['Boolean']['output'];\n id: Scalars['ID']['output'];\n isNoteRequired: Scalars['Boolean']['output'];\n leaf: Scalars['Boolean']['output'];\n name: Scalars['String']['output'];\n parentId?: Maybe<Scalars['String']['output']>;\n position: Scalars['Int']['output'];\n reasonGroupId: Scalars['String']['output'];\n statusColor: AndonLightColor;\n temporary: Scalars['Boolean']['output'];\n};\n\nexport type ReasonFilter = {\n acceptance_monit_eq?: InputMaybe<Scalars['String']['input']>;\n acceptance_monit_equals?: InputMaybe<Scalars['String']['input']>;\n ancestry_cont?: InputMaybe<Scalars['String']['input']>;\n ancestry_contains?: InputMaybe<Scalars['String']['input']>;\n ancestry_end?: InputMaybe<Scalars['String']['input']>;\n ancestry_eq?: InputMaybe<Scalars['String']['input']>;\n ancestry_equals?: InputMaybe<Scalars['String']['input']>;\n ancestry_in?: InputMaybe<Array<Scalars['String']['input']>>;\n ancestry_not_eq?: InputMaybe<Scalars['String']['input']>;\n ancestry_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n ancestry_not_null?: InputMaybe<Scalars['String']['input']>;\n ancestry_null?: InputMaybe<Scalars['String']['input']>;\n ancestry_start?: InputMaybe<Scalars['String']['input']>;\n availability_status_eq?: InputMaybe<Scalars['String']['input']>;\n availability_status_equals?: InputMaybe<Scalars['String']['input']>;\n availability_status_gt?: InputMaybe<Scalars['String']['input']>;\n availability_status_gteq?: InputMaybe<Scalars['String']['input']>;\n availability_status_in?: InputMaybe<Array<Scalars['String']['input']>>;\n availability_status_lt?: InputMaybe<Scalars['String']['input']>;\n availability_status_lteq?: InputMaybe<Scalars['String']['input']>;\n availability_status_not_eq?: InputMaybe<Scalars['String']['input']>;\n availability_status_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n availability_status_not_null?: InputMaybe<Scalars['String']['input']>;\n availability_status_null?: InputMaybe<Scalars['String']['input']>;\n can_be_recommended_eq?: InputMaybe<Scalars['String']['input']>;\n can_be_recommended_equals?: InputMaybe<Scalars['String']['input']>;\n changeable_eq?: InputMaybe<Scalars['String']['input']>;\n changeable_equals?: InputMaybe<Scalars['String']['input']>;\n children_count_eq?: InputMaybe<Scalars['String']['input']>;\n children_count_equals?: InputMaybe<Scalars['String']['input']>;\n children_count_gt?: InputMaybe<Scalars['String']['input']>;\n children_count_gteq?: InputMaybe<Scalars['String']['input']>;\n children_count_in?: InputMaybe<Array<Scalars['String']['input']>>;\n children_count_lt?: InputMaybe<Scalars['String']['input']>;\n children_count_lteq?: InputMaybe<Scalars['String']['input']>;\n children_count_not_eq?: InputMaybe<Scalars['String']['input']>;\n children_count_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n children_count_not_null?: InputMaybe<Scalars['String']['input']>;\n children_count_null?: InputMaybe<Scalars['String']['input']>;\n created_at_eq?: InputMaybe<Scalars['String']['input']>;\n created_at_equals?: InputMaybe<Scalars['String']['input']>;\n created_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n created_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n created_at_not_null?: InputMaybe<Scalars['String']['input']>;\n created_at_null?: InputMaybe<Scalars['String']['input']>;\n creates_order_eq?: InputMaybe<Scalars['String']['input']>;\n creates_order_equals?: InputMaybe<Scalars['String']['input']>;\n deleted_at_eq?: InputMaybe<Scalars['String']['input']>;\n deleted_at_equals?: InputMaybe<Scalars['String']['input']>;\n deleted_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n deleted_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n deleted_at_not_null?: InputMaybe<Scalars['String']['input']>;\n deleted_at_null?: InputMaybe<Scalars['String']['input']>;\n id_eq?: InputMaybe<Scalars['String']['input']>;\n id_equals?: InputMaybe<Scalars['String']['input']>;\n id_gt?: InputMaybe<Scalars['String']['input']>;\n id_gteq?: InputMaybe<Scalars['String']['input']>;\n id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n id_lt?: InputMaybe<Scalars['String']['input']>;\n id_lteq?: InputMaybe<Scalars['String']['input']>;\n id_not_eq?: InputMaybe<Scalars['String']['input']>;\n id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n id_not_null?: InputMaybe<Scalars['String']['input']>;\n id_null?: InputMaybe<Scalars['String']['input']>;\n name_cont?: InputMaybe<Scalars['String']['input']>;\n name_contains?: InputMaybe<Scalars['String']['input']>;\n name_en_cont?: InputMaybe<Scalars['String']['input']>;\n name_en_contains?: InputMaybe<Scalars['String']['input']>;\n name_en_end?: InputMaybe<Scalars['String']['input']>;\n name_en_eq?: InputMaybe<Scalars['String']['input']>;\n name_en_equals?: InputMaybe<Scalars['String']['input']>;\n name_en_in?: InputMaybe<Array<Scalars['String']['input']>>;\n name_en_not_eq?: InputMaybe<Scalars['String']['input']>;\n name_en_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n name_en_not_null?: InputMaybe<Scalars['String']['input']>;\n name_en_null?: InputMaybe<Scalars['String']['input']>;\n name_en_start?: InputMaybe<Scalars['String']['input']>;\n name_end?: InputMaybe<Scalars['String']['input']>;\n name_eq?: InputMaybe<Scalars['String']['input']>;\n name_equals?: InputMaybe<Scalars['String']['input']>;\n name_in?: InputMaybe<Array<Scalars['String']['input']>>;\n name_not_eq?: InputMaybe<Scalars['String']['input']>;\n name_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n name_not_null?: InputMaybe<Scalars['String']['input']>;\n name_null?: InputMaybe<Scalars['String']['input']>;\n name_pl_cont?: InputMaybe<Scalars['String']['input']>;\n name_pl_contains?: InputMaybe<Scalars['String']['input']>;\n name_pl_end?: InputMaybe<Scalars['String']['input']>;\n name_pl_eq?: InputMaybe<Scalars['String']['input']>;\n name_pl_equals?: InputMaybe<Scalars['String']['input']>;\n name_pl_in?: InputMaybe<Array<Scalars['String']['input']>>;\n name_pl_not_eq?: InputMaybe<Scalars['String']['input']>;\n name_pl_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n name_pl_not_null?: InputMaybe<Scalars['String']['input']>;\n name_pl_null?: InputMaybe<Scalars['String']['input']>;\n name_pl_start?: InputMaybe<Scalars['String']['input']>;\n name_start?: InputMaybe<Scalars['String']['input']>;\n note_required_eq?: InputMaybe<Scalars['String']['input']>;\n note_required_equals?: InputMaybe<Scalars['String']['input']>;\n note_status_eq?: InputMaybe<Scalars['String']['input']>;\n note_status_equals?: InputMaybe<Scalars['String']['input']>;\n position_eq?: InputMaybe<Scalars['String']['input']>;\n position_equals?: InputMaybe<Scalars['String']['input']>;\n position_gt?: InputMaybe<Scalars['String']['input']>;\n position_gteq?: InputMaybe<Scalars['String']['input']>;\n position_in?: InputMaybe<Array<Scalars['String']['input']>>;\n position_lt?: InputMaybe<Scalars['String']['input']>;\n position_lteq?: InputMaybe<Scalars['String']['input']>;\n position_not_eq?: InputMaybe<Scalars['String']['input']>;\n position_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n position_not_null?: InputMaybe<Scalars['String']['input']>;\n position_null?: InputMaybe<Scalars['String']['input']>;\n reason_group_id_eq?: InputMaybe<Scalars['String']['input']>;\n reason_group_id_equals?: InputMaybe<Scalars['String']['input']>;\n reason_group_id_gt?: InputMaybe<Scalars['String']['input']>;\n reason_group_id_gteq?: InputMaybe<Scalars['String']['input']>;\n reason_group_id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n reason_group_id_lt?: InputMaybe<Scalars['String']['input']>;\n reason_group_id_lteq?: InputMaybe<Scalars['String']['input']>;\n reason_group_id_not_eq?: InputMaybe<Scalars['String']['input']>;\n reason_group_id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n reason_group_id_not_null?: InputMaybe<Scalars['String']['input']>;\n reason_group_id_null?: InputMaybe<Scalars['String']['input']>;\n skip_shift_end_reason_automation_eq?: InputMaybe<Scalars['String']['input']>;\n skip_shift_end_reason_automation_equals?: InputMaybe<Scalars['String']['input']>;\n status_eq?: InputMaybe<Scalars['String']['input']>;\n status_equals?: InputMaybe<Scalars['String']['input']>;\n status_gt?: InputMaybe<Scalars['String']['input']>;\n status_gteq?: InputMaybe<Scalars['String']['input']>;\n status_in?: InputMaybe<Array<Scalars['String']['input']>>;\n status_lt?: InputMaybe<Scalars['String']['input']>;\n status_lteq?: InputMaybe<Scalars['String']['input']>;\n status_not_eq?: InputMaybe<Scalars['String']['input']>;\n status_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n status_not_null?: InputMaybe<Scalars['String']['input']>;\n status_null?: InputMaybe<Scalars['String']['input']>;\n tags_contains_all?: InputMaybe<Array<Scalars['String']['input']>>;\n tags_contains_any?: InputMaybe<Array<Scalars['String']['input']>>;\n temporary_eq?: InputMaybe<Scalars['String']['input']>;\n temporary_equals?: InputMaybe<Scalars['String']['input']>;\n updated_at_eq?: InputMaybe<Scalars['String']['input']>;\n updated_at_equals?: InputMaybe<Scalars['String']['input']>;\n updated_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n updated_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n updated_at_not_null?: InputMaybe<Scalars['String']['input']>;\n updated_at_null?: InputMaybe<Scalars['String']['input']>;\n work_order_template_id_eq?: InputMaybe<Scalars['String']['input']>;\n work_order_template_id_equals?: InputMaybe<Scalars['String']['input']>;\n work_order_template_id_gt?: InputMaybe<Scalars['String']['input']>;\n work_order_template_id_gteq?: InputMaybe<Scalars['String']['input']>;\n work_order_template_id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n work_order_template_id_lt?: InputMaybe<Scalars['String']['input']>;\n work_order_template_id_lteq?: InputMaybe<Scalars['String']['input']>;\n work_order_template_id_not_eq?: InputMaybe<Scalars['String']['input']>;\n work_order_template_id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n work_order_template_id_not_null?: InputMaybe<Scalars['String']['input']>;\n work_order_template_id_null?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type ReasonsRecommendation = {\n __typename?: 'ReasonsRecommendation';\n reasons: Array<Reason>;\n trainingStatus: TrainingStatus;\n};\n\n/** Autogenerated return type of RemoveDashboard */\nexport type RemoveDashboardPayload = {\n __typename?: 'RemoveDashboardPayload';\n errors?: Maybe<Array<MutationError>>;\n};\n\n/** Autogenerated return type of RemoveStaffingPlan */\nexport type RemoveStaffingPlanPayload = {\n __typename?: 'RemoveStaffingPlanPayload';\n errors?: Maybe<Array<MutationError>>;\n};\n\n/** Autogenerated return type of RemoveUserPresence */\nexport type RemoveUserPresencePayload = {\n __typename?: 'RemoveUserPresencePayload';\n errors?: Maybe<Array<MutationError>>;\n};\n\n/** Autogenerated return type of RemoveWidget */\nexport type RemoveWidgetPayload = {\n __typename?: 'RemoveWidgetPayload';\n errors?: Maybe<Array<MutationError>>;\n};\n\n/** Autogenerated return type of RemoveWorkplaceUsersPresences */\nexport type RemoveWorkplaceUsersPresencesPayload = {\n __typename?: 'RemoveWorkplaceUsersPresencesPayload';\n errors?: Maybe<Array<MutationError>>;\n};\n\nexport type RequestFeatureAccessInput = {\n featureKey: Scalars['String']['input'];\n requestType: AccessRequestTypeEnum;\n workplaceId?: InputMaybe<Scalars['ID']['input']>;\n};\n\n/** Autogenerated return type of RequestFeatureAccessMutation */\nexport type RequestFeatureAccessMutationPayload = {\n __typename?: 'RequestFeatureAccessMutationPayload';\n errors?: Maybe<Array<MutationError>>;\n success: Scalars['Boolean']['output'];\n};\n\nexport type RoleConfig = {\n __typename?: 'RoleConfig';\n historyVisibilityEnabled: Scalars['Boolean']['output'];\n orderCreationAllowed: Scalars['Boolean']['output'];\n};\n\nexport enum ScreenEnum {\n Cmms = 'CMMS',\n Counters = 'COUNTERS',\n Statuses = 'STATUSES',\n StatusScreen = 'STATUS_SCREEN',\n Workplaces = 'WORKPLACES',\n}\n\nexport type ScreenSaverConfig = {\n __typename?: 'ScreenSaverConfig';\n autoSignOut: Scalars['Boolean']['output'];\n displayAfterIdle: Scalars['Boolean']['output'];\n displayAfterOrderCreated: Scalars['Boolean']['output'];\n displayAfterStatusChangeCreated: Scalars['Boolean']['output'];\n enabled: Scalars['Boolean']['output'];\n idleTime: Scalars['Int']['output'];\n};\n\n/** Autogenerated return type of SetCounter */\nexport type SetCounterPayload = {\n __typename?: 'SetCounterPayload';\n counter?: Maybe<Counter>;\n errors?: Maybe<Array<MutationError>>;\n};\n\nexport type Shift = {\n __typename?: 'Shift';\n finishedAt: Scalars['String']['output'];\n id: Scalars['ID']['output'];\n name: Scalars['String']['output'];\n startedAt: Scalars['String']['output'];\n};\n\nexport type StaffingPlan = {\n __typename?: 'StaffingPlan';\n author: User;\n createdAt: Scalars['ISO8601DateTime']['output'];\n date: Scalars['ISO8601Date']['output'];\n id: Scalars['ID']['output'];\n recommendedOperators: Scalars['Int']['output'];\n shift: Shift;\n updatedAt: Scalars['ISO8601DateTime']['output'];\n workplace: Workplace;\n};\n\nexport type StaffingPlanFilter = {\n date_from?: InputMaybe<Scalars['ISO8601Date']['input']>;\n date_to?: InputMaybe<Scalars['ISO8601Date']['input']>;\n period?: InputMaybe<Period>;\n shift_id_in?: InputMaybe<Array<Scalars['ID']['input']>>;\n workplace_id_in?: InputMaybe<Array<Scalars['ID']['input']>>;\n};\n\nexport type StaffingPlanInput = {\n date: Scalars['ISO8601Date']['input'];\n recommendedOperators: Scalars['Int']['input'];\n shiftId: Scalars['ID']['input'];\n workplaceId: Scalars['ID']['input'];\n};\n\nexport type StaffingPlanUpdateInput = {\n id: Scalars['ID']['input'];\n recommendedOperators: Scalars['Int']['input'];\n};\n\nexport type StandardRate = {\n __typename?: 'StandardRate';\n id: Scalars['ID']['output'];\n label: Scalars['String']['output'];\n};\n\n/** Autogenerated return type of StartOrderExecution */\nexport type StartOrderExecutionPayload = {\n __typename?: 'StartOrderExecutionPayload';\n errors?: Maybe<Array<MutationError>>;\n orderExecution?: Maybe<OrderExecution>;\n};\n\nexport type StartTrialInput = {\n featureKey: Scalars['String']['input'];\n};\n\n/** Autogenerated return type of StartTrialMutation */\nexport type StartTrialMutationPayload = {\n __typename?: 'StartTrialMutationPayload';\n errors?: Maybe<Array<MutationError>>;\n success: Scalars['Boolean']['output'];\n};\n\nexport type StatusChange = {\n __typename?: 'StatusChange';\n author: User;\n finishedAt?: Maybe<Scalars['String']['output']>;\n id: Scalars['ID']['output'];\n note?: Maybe<Scalars['String']['output']>;\n order?: Maybe<Order>;\n product?: Maybe<Product>;\n reason: Reason;\n reasonHasBeenRecommended: Scalars['Boolean']['output'];\n startedAt: Scalars['String']['output'];\n workplaceId: Scalars['String']['output'];\n};\n\nexport type StatusChangeFilter = {\n period?: InputMaybe<Period>;\n workplace_id_equals?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type StatusChangeTransitionPermission = {\n __typename?: 'StatusChangeTransitionPermission';\n fromReasonId: Scalars['String']['output'];\n roleId: Scalars['String']['output'];\n toReasonId: Scalars['String']['output'];\n workplaceId: Scalars['String']['output'];\n};\n\nexport type StatusChangeTransitionPermissionFilter = {\n allowed_eq?: InputMaybe<Scalars['String']['input']>;\n allowed_equals?: InputMaybe<Scalars['String']['input']>;\n created_at_eq?: InputMaybe<Scalars['String']['input']>;\n created_at_equals?: InputMaybe<Scalars['String']['input']>;\n created_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n created_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n created_at_not_null?: InputMaybe<Scalars['String']['input']>;\n created_at_null?: InputMaybe<Scalars['String']['input']>;\n deleted_at_eq?: InputMaybe<Scalars['String']['input']>;\n deleted_at_equals?: InputMaybe<Scalars['String']['input']>;\n deleted_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n deleted_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n deleted_at_not_null?: InputMaybe<Scalars['String']['input']>;\n deleted_at_null?: InputMaybe<Scalars['String']['input']>;\n from_reason_id_eq?: InputMaybe<Scalars['String']['input']>;\n from_reason_id_equals?: InputMaybe<Scalars['String']['input']>;\n from_reason_id_gt?: InputMaybe<Scalars['String']['input']>;\n from_reason_id_gteq?: InputMaybe<Scalars['String']['input']>;\n from_reason_id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n from_reason_id_lt?: InputMaybe<Scalars['String']['input']>;\n from_reason_id_lteq?: InputMaybe<Scalars['String']['input']>;\n from_reason_id_not_eq?: InputMaybe<Scalars['String']['input']>;\n from_reason_id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n from_reason_id_not_null?: InputMaybe<Scalars['String']['input']>;\n from_reason_id_null?: InputMaybe<Scalars['String']['input']>;\n id_eq?: InputMaybe<Scalars['String']['input']>;\n id_equals?: InputMaybe<Scalars['String']['input']>;\n id_gt?: InputMaybe<Scalars['String']['input']>;\n id_gteq?: InputMaybe<Scalars['String']['input']>;\n id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n id_lt?: InputMaybe<Scalars['String']['input']>;\n id_lteq?: InputMaybe<Scalars['String']['input']>;\n id_not_eq?: InputMaybe<Scalars['String']['input']>;\n id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n id_not_null?: InputMaybe<Scalars['String']['input']>;\n id_null?: InputMaybe<Scalars['String']['input']>;\n role_id_eq?: InputMaybe<Scalars['String']['input']>;\n role_id_equals?: InputMaybe<Scalars['String']['input']>;\n role_id_gt?: InputMaybe<Scalars['String']['input']>;\n role_id_gteq?: InputMaybe<Scalars['String']['input']>;\n role_id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n role_id_lt?: InputMaybe<Scalars['String']['input']>;\n role_id_lteq?: InputMaybe<Scalars['String']['input']>;\n role_id_not_eq?: InputMaybe<Scalars['String']['input']>;\n role_id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n role_id_not_null?: InputMaybe<Scalars['String']['input']>;\n role_id_null?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_eq?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_equals?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_gt?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_gteq?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n subgroup_id_lt?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_lteq?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_not_eq?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n subgroup_id_not_null?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_null?: InputMaybe<Scalars['String']['input']>;\n to_reason_id_eq?: InputMaybe<Scalars['String']['input']>;\n to_reason_id_equals?: InputMaybe<Scalars['String']['input']>;\n to_reason_id_gt?: InputMaybe<Scalars['String']['input']>;\n to_reason_id_gteq?: InputMaybe<Scalars['String']['input']>;\n to_reason_id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n to_reason_id_lt?: InputMaybe<Scalars['String']['input']>;\n to_reason_id_lteq?: InputMaybe<Scalars['String']['input']>;\n to_reason_id_not_eq?: InputMaybe<Scalars['String']['input']>;\n to_reason_id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n to_reason_id_not_null?: InputMaybe<Scalars['String']['input']>;\n to_reason_id_null?: InputMaybe<Scalars['String']['input']>;\n updated_at_eq?: InputMaybe<Scalars['String']['input']>;\n updated_at_equals?: InputMaybe<Scalars['String']['input']>;\n updated_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n updated_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n updated_at_not_null?: InputMaybe<Scalars['String']['input']>;\n updated_at_null?: InputMaybe<Scalars['String']['input']>;\n workplace_id_cont?: InputMaybe<Scalars['String']['input']>;\n workplace_id_contains?: InputMaybe<Scalars['String']['input']>;\n workplace_id_end?: InputMaybe<Scalars['String']['input']>;\n workplace_id_eq?: InputMaybe<Scalars['String']['input']>;\n workplace_id_equals?: InputMaybe<Scalars['String']['input']>;\n workplace_id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n workplace_id_not_eq?: InputMaybe<Scalars['String']['input']>;\n workplace_id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n workplace_id_not_null?: InputMaybe<Scalars['String']['input']>;\n workplace_id_null?: InputMaybe<Scalars['String']['input']>;\n workplace_id_start?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type StatusInsightsEntry = {\n __typename?: 'StatusInsightsEntry';\n averageDurationMinutes: Scalars['Float']['output'];\n label: Scalars['String']['output'];\n occurrenceCount: Scalars['Int']['output'];\n};\n\nexport type StatusInsightsInput = {\n aggregation: InsightsAggregation;\n dateFrom: Scalars['ISO8601DateTime']['input'];\n dateTo: Scalars['ISO8601DateTime']['input'];\n dayType: DayType;\n reasonId: Scalars['ID']['input'];\n shiftIds: Array<Scalars['ID']['input']>;\n};\n\nexport type StatusInsightsResult = {\n __typename?: 'StatusInsightsResult';\n entries: Array<StatusInsightsEntry>;\n};\n\nexport enum StatusScreenDisplayBlocksEnum {\n Kpi = 'KPI',\n Livetime = 'LIVETIME',\n Orders = 'ORDERS',\n Presences = 'PRESENCES',\n}\n\n/** Autogenerated return type of StopOrderExecution */\nexport type StopOrderExecutionPayload = {\n __typename?: 'StopOrderExecutionPayload';\n errors?: Maybe<Array<MutationError>>;\n orderExecution?: Maybe<OrderExecution>;\n};\n\nexport type Subscription = {\n __typename?: 'Subscription';\n workplaceEvent: WorkplaceEventSubscriptionPayload;\n};\n\nexport type SubscriptionWorkplaceEventArgs = {\n id: Scalars['ID']['input'];\n};\n\nexport enum TrainingStatus {\n Disabled = 'DISABLED',\n InsufficientData = 'INSUFFICIENT_DATA',\n ServerError = 'SERVER_ERROR',\n Trained = 'TRAINED',\n Training = 'TRAINING',\n}\n\n/** Autogenerated return type of UnassignOperatorFromWorkplace */\nexport type UnassignOperatorFromWorkplacePayload = {\n __typename?: 'UnassignOperatorFromWorkplacePayload';\n assignment?: Maybe<WorkplaceAssignment>;\n errors?: Maybe<Array<MutationError>>;\n};\n\nexport type UnassignOperatorInput = {\n shiftId: Scalars['ID']['input'];\n userId: Scalars['ID']['input'];\n validFrom: Scalars['ISO8601Date']['input'];\n};\n\nexport type UnplannedOperator = {\n __typename?: 'UnplannedOperator';\n plannedWorkplace?: Maybe<Workplace>;\n user: User;\n};\n\n/** Autogenerated return type of UpdateDashboard */\nexport type UpdateDashboardPayload = {\n __typename?: 'UpdateDashboardPayload';\n dashboard?: Maybe<Dashboard>;\n errors?: Maybe<Array<MutationError>>;\n};\n\n/** Autogenerated return type of UpdateNotification */\nexport type UpdateNotificationPayload = {\n __typename?: 'UpdateNotificationPayload';\n errors?: Maybe<Array<MutationError>>;\n notification?: Maybe<Notification>;\n};\n\n/** Autogenerated return type of UpdateOrderExecution */\nexport type UpdateOrderExecutionPayload = {\n __typename?: 'UpdateOrderExecutionPayload';\n errors?: Maybe<Array<MutationError>>;\n orderExecution?: Maybe<OrderExecution>;\n};\n\nexport type UpdateOrderInput = {\n id: Scalars['ID']['input'];\n workplaceIds: Array<Scalars['ID']['input']>;\n};\n\n/** Autogenerated return type of UpdateOrder */\nexport type UpdateOrderPayload = {\n __typename?: 'UpdateOrderPayload';\n errors?: Maybe<Array<MutationError>>;\n order?: Maybe<Order>;\n};\n\n/** Autogenerated return type of UpdateStaffingPlan */\nexport type UpdateStaffingPlanPayload = {\n __typename?: 'UpdateStaffingPlanPayload';\n errors?: Maybe<Array<MutationError>>;\n staffingPlan?: Maybe<StaffingPlan>;\n};\n\nexport type UpdateStatusChangeInput = {\n authorId?: InputMaybe<Scalars['ID']['input']>;\n id: Scalars['ID']['input'];\n note?: InputMaybe<Scalars['String']['input']>;\n reasonHasBeenRecommended?: InputMaybe<Scalars['Boolean']['input']>;\n reasonId?: InputMaybe<Scalars['ID']['input']>;\n};\n\n/** Autogenerated return type of UpdateStatusChange */\nexport type UpdateStatusChangePayload = {\n __typename?: 'UpdateStatusChangePayload';\n errors?: Maybe<Array<MutationError>>;\n statusChange?: Maybe<StatusChange>;\n};\n\n/** Autogenerated return type of UpdateWidget */\nexport type UpdateWidgetPayload = {\n __typename?: 'UpdateWidgetPayload';\n errors?: Maybe<Array<MutationError>>;\n widget?: Maybe<Widget>;\n};\n\nexport type UpdateWorkOrderInput = {\n note?: InputMaybe<Scalars['String']['input']>;\n procedureResponse?: InputMaybe<Scalars['JSON']['input']>;\n status?: InputMaybe<WorkOrderStatusEnum>;\n timeSpentHours?: InputMaybe<Scalars['Int']['input']>;\n timeSpentMinutes?: InputMaybe<Scalars['Int']['input']>;\n};\n\n/** Autogenerated return type of UpdateWorkOrder */\nexport type UpdateWorkOrderPayload = {\n __typename?: 'UpdateWorkOrderPayload';\n errors?: Maybe<Array<MutationError>>;\n workOrder?: Maybe<WorkOrder>;\n};\n\nexport type User = {\n __typename?: 'User';\n id: Scalars['ID']['output'];\n login: Scalars['String']['output'];\n name: Scalars['String']['output'];\n};\n\nexport type UserFilter = {\n bot_name_cont?: InputMaybe<Scalars['String']['input']>;\n bot_name_contains?: InputMaybe<Scalars['String']['input']>;\n bot_name_end?: InputMaybe<Scalars['String']['input']>;\n bot_name_eq?: InputMaybe<Scalars['String']['input']>;\n bot_name_equals?: InputMaybe<Scalars['String']['input']>;\n bot_name_in?: InputMaybe<Array<Scalars['String']['input']>>;\n bot_name_not_eq?: InputMaybe<Scalars['String']['input']>;\n bot_name_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n bot_name_not_null?: InputMaybe<Scalars['String']['input']>;\n bot_name_null?: InputMaybe<Scalars['String']['input']>;\n bot_name_start?: InputMaybe<Scalars['String']['input']>;\n communications_locale_cont?: InputMaybe<Scalars['String']['input']>;\n communications_locale_contains?: InputMaybe<Scalars['String']['input']>;\n communications_locale_end?: InputMaybe<Scalars['String']['input']>;\n communications_locale_eq?: InputMaybe<Scalars['String']['input']>;\n communications_locale_equals?: InputMaybe<Scalars['String']['input']>;\n communications_locale_in?: InputMaybe<Array<Scalars['String']['input']>>;\n communications_locale_not_eq?: InputMaybe<Scalars['String']['input']>;\n communications_locale_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n communications_locale_not_null?: InputMaybe<Scalars['String']['input']>;\n communications_locale_null?: InputMaybe<Scalars['String']['input']>;\n communications_locale_start?: InputMaybe<Scalars['String']['input']>;\n company_id_eq?: InputMaybe<Scalars['String']['input']>;\n company_id_equals?: InputMaybe<Scalars['String']['input']>;\n company_id_gt?: InputMaybe<Scalars['String']['input']>;\n company_id_gteq?: InputMaybe<Scalars['String']['input']>;\n company_id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n company_id_lt?: InputMaybe<Scalars['String']['input']>;\n company_id_lteq?: InputMaybe<Scalars['String']['input']>;\n company_id_not_eq?: InputMaybe<Scalars['String']['input']>;\n company_id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n company_id_not_null?: InputMaybe<Scalars['String']['input']>;\n company_id_null?: InputMaybe<Scalars['String']['input']>;\n confirmation_sent_at_eq?: InputMaybe<Scalars['String']['input']>;\n confirmation_sent_at_equals?: InputMaybe<Scalars['String']['input']>;\n confirmation_sent_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n confirmation_sent_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n confirmation_sent_at_not_null?: InputMaybe<Scalars['String']['input']>;\n confirmation_sent_at_null?: InputMaybe<Scalars['String']['input']>;\n confirmation_token_cont?: InputMaybe<Scalars['String']['input']>;\n confirmation_token_contains?: InputMaybe<Scalars['String']['input']>;\n confirmation_token_end?: InputMaybe<Scalars['String']['input']>;\n confirmation_token_eq?: InputMaybe<Scalars['String']['input']>;\n confirmation_token_equals?: InputMaybe<Scalars['String']['input']>;\n confirmation_token_in?: InputMaybe<Array<Scalars['String']['input']>>;\n confirmation_token_not_eq?: InputMaybe<Scalars['String']['input']>;\n confirmation_token_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n confirmation_token_not_null?: InputMaybe<Scalars['String']['input']>;\n confirmation_token_null?: InputMaybe<Scalars['String']['input']>;\n confirmation_token_start?: InputMaybe<Scalars['String']['input']>;\n confirmed_at_eq?: InputMaybe<Scalars['String']['input']>;\n confirmed_at_equals?: InputMaybe<Scalars['String']['input']>;\n confirmed_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n confirmed_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n confirmed_at_not_null?: InputMaybe<Scalars['String']['input']>;\n confirmed_at_null?: InputMaybe<Scalars['String']['input']>;\n created_at_eq?: InputMaybe<Scalars['String']['input']>;\n created_at_equals?: InputMaybe<Scalars['String']['input']>;\n created_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n created_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n created_at_not_null?: InputMaybe<Scalars['String']['input']>;\n created_at_null?: InputMaybe<Scalars['String']['input']>;\n current_sign_in_at_eq?: InputMaybe<Scalars['String']['input']>;\n current_sign_in_at_equals?: InputMaybe<Scalars['String']['input']>;\n current_sign_in_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n current_sign_in_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n current_sign_in_at_not_null?: InputMaybe<Scalars['String']['input']>;\n current_sign_in_at_null?: InputMaybe<Scalars['String']['input']>;\n current_sign_in_ip_cont?: InputMaybe<Scalars['String']['input']>;\n current_sign_in_ip_contains?: InputMaybe<Scalars['String']['input']>;\n current_sign_in_ip_end?: InputMaybe<Scalars['String']['input']>;\n current_sign_in_ip_eq?: InputMaybe<Scalars['String']['input']>;\n current_sign_in_ip_equals?: InputMaybe<Scalars['String']['input']>;\n current_sign_in_ip_in?: InputMaybe<Array<Scalars['String']['input']>>;\n current_sign_in_ip_not_eq?: InputMaybe<Scalars['String']['input']>;\n current_sign_in_ip_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n current_sign_in_ip_not_null?: InputMaybe<Scalars['String']['input']>;\n current_sign_in_ip_null?: InputMaybe<Scalars['String']['input']>;\n current_sign_in_ip_start?: InputMaybe<Scalars['String']['input']>;\n deactivated_eq?: InputMaybe<Scalars['String']['input']>;\n deactivated_equals?: InputMaybe<Scalars['String']['input']>;\n deleted_at_eq?: InputMaybe<Scalars['String']['input']>;\n deleted_at_equals?: InputMaybe<Scalars['String']['input']>;\n deleted_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n deleted_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n deleted_at_not_null?: InputMaybe<Scalars['String']['input']>;\n deleted_at_null?: InputMaybe<Scalars['String']['input']>;\n email_cont?: InputMaybe<Scalars['String']['input']>;\n email_contains?: InputMaybe<Scalars['String']['input']>;\n email_end?: InputMaybe<Scalars['String']['input']>;\n email_eq?: InputMaybe<Scalars['String']['input']>;\n email_equals?: InputMaybe<Scalars['String']['input']>;\n email_in?: InputMaybe<Array<Scalars['String']['input']>>;\n email_not_eq?: InputMaybe<Scalars['String']['input']>;\n email_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n email_not_null?: InputMaybe<Scalars['String']['input']>;\n email_null?: InputMaybe<Scalars['String']['input']>;\n email_start?: InputMaybe<Scalars['String']['input']>;\n encrypted_password_cont?: InputMaybe<Scalars['String']['input']>;\n encrypted_password_contains?: InputMaybe<Scalars['String']['input']>;\n encrypted_password_end?: InputMaybe<Scalars['String']['input']>;\n encrypted_password_eq?: InputMaybe<Scalars['String']['input']>;\n encrypted_password_equals?: InputMaybe<Scalars['String']['input']>;\n encrypted_password_in?: InputMaybe<Array<Scalars['String']['input']>>;\n encrypted_password_not_eq?: InputMaybe<Scalars['String']['input']>;\n encrypted_password_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n encrypted_password_not_null?: InputMaybe<Scalars['String']['input']>;\n encrypted_password_null?: InputMaybe<Scalars['String']['input']>;\n encrypted_password_start?: InputMaybe<Scalars['String']['input']>;\n id_eq?: InputMaybe<Scalars['String']['input']>;\n id_equals?: InputMaybe<Scalars['String']['input']>;\n id_gt?: InputMaybe<Scalars['String']['input']>;\n id_gteq?: InputMaybe<Scalars['String']['input']>;\n id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n id_lt?: InputMaybe<Scalars['String']['input']>;\n id_lteq?: InputMaybe<Scalars['String']['input']>;\n id_not_eq?: InputMaybe<Scalars['String']['input']>;\n id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n id_not_null?: InputMaybe<Scalars['String']['input']>;\n id_null?: InputMaybe<Scalars['String']['input']>;\n image_cont?: InputMaybe<Scalars['String']['input']>;\n image_contains?: InputMaybe<Scalars['String']['input']>;\n image_end?: InputMaybe<Scalars['String']['input']>;\n image_eq?: InputMaybe<Scalars['String']['input']>;\n image_equals?: InputMaybe<Scalars['String']['input']>;\n image_in?: InputMaybe<Array<Scalars['String']['input']>>;\n image_not_eq?: InputMaybe<Scalars['String']['input']>;\n image_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n image_not_null?: InputMaybe<Scalars['String']['input']>;\n image_null?: InputMaybe<Scalars['String']['input']>;\n image_start?: InputMaybe<Scalars['String']['input']>;\n is_support_eq?: InputMaybe<Scalars['String']['input']>;\n is_support_equals?: InputMaybe<Scalars['String']['input']>;\n last_sign_in_at_eq?: InputMaybe<Scalars['String']['input']>;\n last_sign_in_at_equals?: InputMaybe<Scalars['String']['input']>;\n last_sign_in_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n last_sign_in_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n last_sign_in_at_not_null?: InputMaybe<Scalars['String']['input']>;\n last_sign_in_at_null?: InputMaybe<Scalars['String']['input']>;\n last_sign_in_ip_cont?: InputMaybe<Scalars['String']['input']>;\n last_sign_in_ip_contains?: InputMaybe<Scalars['String']['input']>;\n last_sign_in_ip_end?: InputMaybe<Scalars['String']['input']>;\n last_sign_in_ip_eq?: InputMaybe<Scalars['String']['input']>;\n last_sign_in_ip_equals?: InputMaybe<Scalars['String']['input']>;\n last_sign_in_ip_in?: InputMaybe<Array<Scalars['String']['input']>>;\n last_sign_in_ip_not_eq?: InputMaybe<Scalars['String']['input']>;\n last_sign_in_ip_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n last_sign_in_ip_not_null?: InputMaybe<Scalars['String']['input']>;\n last_sign_in_ip_null?: InputMaybe<Scalars['String']['input']>;\n last_sign_in_ip_start?: InputMaybe<Scalars['String']['input']>;\n locale_cont?: InputMaybe<Scalars['String']['input']>;\n locale_contains?: InputMaybe<Scalars['String']['input']>;\n locale_end?: InputMaybe<Scalars['String']['input']>;\n locale_eq?: InputMaybe<Scalars['String']['input']>;\n locale_equals?: InputMaybe<Scalars['String']['input']>;\n locale_in?: InputMaybe<Array<Scalars['String']['input']>>;\n locale_not_eq?: InputMaybe<Scalars['String']['input']>;\n locale_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n locale_not_null?: InputMaybe<Scalars['String']['input']>;\n locale_null?: InputMaybe<Scalars['String']['input']>;\n locale_start?: InputMaybe<Scalars['String']['input']>;\n login_code_cont?: InputMaybe<Scalars['String']['input']>;\n login_code_contains?: InputMaybe<Scalars['String']['input']>;\n login_code_end?: InputMaybe<Scalars['String']['input']>;\n login_code_eq?: InputMaybe<Scalars['String']['input']>;\n login_code_equals?: InputMaybe<Scalars['String']['input']>;\n login_code_generated_at_eq?: InputMaybe<Scalars['String']['input']>;\n login_code_generated_at_equals?: InputMaybe<Scalars['String']['input']>;\n login_code_generated_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n login_code_generated_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n login_code_generated_at_not_null?: InputMaybe<Scalars['String']['input']>;\n login_code_generated_at_null?: InputMaybe<Scalars['String']['input']>;\n login_code_in?: InputMaybe<Array<Scalars['String']['input']>>;\n login_code_not_eq?: InputMaybe<Scalars['String']['input']>;\n login_code_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n login_code_not_null?: InputMaybe<Scalars['String']['input']>;\n login_code_null?: InputMaybe<Scalars['String']['input']>;\n login_code_start?: InputMaybe<Scalars['String']['input']>;\n name_cont?: InputMaybe<Scalars['String']['input']>;\n name_contains?: InputMaybe<Scalars['String']['input']>;\n name_end?: InputMaybe<Scalars['String']['input']>;\n name_eq?: InputMaybe<Scalars['String']['input']>;\n name_equals?: InputMaybe<Scalars['String']['input']>;\n name_in?: InputMaybe<Array<Scalars['String']['input']>>;\n name_not_eq?: InputMaybe<Scalars['String']['input']>;\n name_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n name_not_null?: InputMaybe<Scalars['String']['input']>;\n name_null?: InputMaybe<Scalars['String']['input']>;\n name_start?: InputMaybe<Scalars['String']['input']>;\n nickname_cont?: InputMaybe<Scalars['String']['input']>;\n nickname_contains?: InputMaybe<Scalars['String']['input']>;\n nickname_end?: InputMaybe<Scalars['String']['input']>;\n nickname_eq?: InputMaybe<Scalars['String']['input']>;\n nickname_equals?: InputMaybe<Scalars['String']['input']>;\n nickname_in?: InputMaybe<Array<Scalars['String']['input']>>;\n nickname_not_eq?: InputMaybe<Scalars['String']['input']>;\n nickname_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n nickname_not_null?: InputMaybe<Scalars['String']['input']>;\n nickname_null?: InputMaybe<Scalars['String']['input']>;\n nickname_start?: InputMaybe<Scalars['String']['input']>;\n notification_browser_eq?: InputMaybe<Scalars['String']['input']>;\n notification_browser_equals?: InputMaybe<Scalars['String']['input']>;\n notification_email_eq?: InputMaybe<Scalars['String']['input']>;\n notification_email_equals?: InputMaybe<Scalars['String']['input']>;\n notification_rtc_eq?: InputMaybe<Scalars['String']['input']>;\n notification_rtc_equals?: InputMaybe<Scalars['String']['input']>;\n notification_sms_eq?: InputMaybe<Scalars['String']['input']>;\n notification_sms_equals?: InputMaybe<Scalars['String']['input']>;\n notification_vms_eq?: InputMaybe<Scalars['String']['input']>;\n notification_vms_equals?: InputMaybe<Scalars['String']['input']>;\n phone_cont?: InputMaybe<Scalars['String']['input']>;\n phone_contains?: InputMaybe<Scalars['String']['input']>;\n phone_end?: InputMaybe<Scalars['String']['input']>;\n phone_eq?: InputMaybe<Scalars['String']['input']>;\n phone_equals?: InputMaybe<Scalars['String']['input']>;\n phone_in?: InputMaybe<Array<Scalars['String']['input']>>;\n phone_not_eq?: InputMaybe<Scalars['String']['input']>;\n phone_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n phone_not_null?: InputMaybe<Scalars['String']['input']>;\n phone_null?: InputMaybe<Scalars['String']['input']>;\n phone_start?: InputMaybe<Scalars['String']['input']>;\n provider_cont?: InputMaybe<Scalars['String']['input']>;\n provider_contains?: InputMaybe<Scalars['String']['input']>;\n provider_end?: InputMaybe<Scalars['String']['input']>;\n provider_eq?: InputMaybe<Scalars['String']['input']>;\n provider_equals?: InputMaybe<Scalars['String']['input']>;\n provider_in?: InputMaybe<Array<Scalars['String']['input']>>;\n provider_not_eq?: InputMaybe<Scalars['String']['input']>;\n provider_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n provider_not_null?: InputMaybe<Scalars['String']['input']>;\n provider_null?: InputMaybe<Scalars['String']['input']>;\n provider_start?: InputMaybe<Scalars['String']['input']>;\n registration_token_cont?: InputMaybe<Scalars['String']['input']>;\n registration_token_contains?: InputMaybe<Scalars['String']['input']>;\n registration_token_end?: InputMaybe<Scalars['String']['input']>;\n registration_token_eq?: InputMaybe<Scalars['String']['input']>;\n registration_token_equals?: InputMaybe<Scalars['String']['input']>;\n registration_token_in?: InputMaybe<Array<Scalars['String']['input']>>;\n registration_token_not_eq?: InputMaybe<Scalars['String']['input']>;\n registration_token_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n registration_token_not_null?: InputMaybe<Scalars['String']['input']>;\n registration_token_null?: InputMaybe<Scalars['String']['input']>;\n registration_token_start?: InputMaybe<Scalars['String']['input']>;\n remember_created_at_eq?: InputMaybe<Scalars['String']['input']>;\n remember_created_at_equals?: InputMaybe<Scalars['String']['input']>;\n remember_created_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n remember_created_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n remember_created_at_not_null?: InputMaybe<Scalars['String']['input']>;\n remember_created_at_null?: InputMaybe<Scalars['String']['input']>;\n reset_password_sent_at_eq?: InputMaybe<Scalars['String']['input']>;\n reset_password_sent_at_equals?: InputMaybe<Scalars['String']['input']>;\n reset_password_sent_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n reset_password_sent_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n reset_password_sent_at_not_null?: InputMaybe<Scalars['String']['input']>;\n reset_password_sent_at_null?: InputMaybe<Scalars['String']['input']>;\n reset_password_token_cont?: InputMaybe<Scalars['String']['input']>;\n reset_password_token_contains?: InputMaybe<Scalars['String']['input']>;\n reset_password_token_end?: InputMaybe<Scalars['String']['input']>;\n reset_password_token_eq?: InputMaybe<Scalars['String']['input']>;\n reset_password_token_equals?: InputMaybe<Scalars['String']['input']>;\n reset_password_token_in?: InputMaybe<Array<Scalars['String']['input']>>;\n reset_password_token_not_eq?: InputMaybe<Scalars['String']['input']>;\n reset_password_token_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n reset_password_token_not_null?: InputMaybe<Scalars['String']['input']>;\n reset_password_token_null?: InputMaybe<Scalars['String']['input']>;\n reset_password_token_start?: InputMaybe<Scalars['String']['input']>;\n role_id_eq?: InputMaybe<Scalars['String']['input']>;\n role_id_equals?: InputMaybe<Scalars['String']['input']>;\n role_id_gt?: InputMaybe<Scalars['String']['input']>;\n role_id_gteq?: InputMaybe<Scalars['String']['input']>;\n role_id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n role_id_lt?: InputMaybe<Scalars['String']['input']>;\n role_id_lteq?: InputMaybe<Scalars['String']['input']>;\n role_id_not_eq?: InputMaybe<Scalars['String']['input']>;\n role_id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n role_id_not_null?: InputMaybe<Scalars['String']['input']>;\n role_id_null?: InputMaybe<Scalars['String']['input']>;\n sign_in_count_eq?: InputMaybe<Scalars['String']['input']>;\n sign_in_count_equals?: InputMaybe<Scalars['String']['input']>;\n sign_in_count_gt?: InputMaybe<Scalars['String']['input']>;\n sign_in_count_gteq?: InputMaybe<Scalars['String']['input']>;\n sign_in_count_in?: InputMaybe<Array<Scalars['String']['input']>>;\n sign_in_count_lt?: InputMaybe<Scalars['String']['input']>;\n sign_in_count_lteq?: InputMaybe<Scalars['String']['input']>;\n sign_in_count_not_eq?: InputMaybe<Scalars['String']['input']>;\n sign_in_count_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n sign_in_count_not_null?: InputMaybe<Scalars['String']['input']>;\n sign_in_count_null?: InputMaybe<Scalars['String']['input']>;\n team_id_eq?: InputMaybe<Scalars['String']['input']>;\n team_id_equals?: InputMaybe<Scalars['String']['input']>;\n team_id_gt?: InputMaybe<Scalars['String']['input']>;\n team_id_gteq?: InputMaybe<Scalars['String']['input']>;\n team_id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n team_id_lt?: InputMaybe<Scalars['String']['input']>;\n team_id_lteq?: InputMaybe<Scalars['String']['input']>;\n team_id_not_eq?: InputMaybe<Scalars['String']['input']>;\n team_id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n team_id_not_null?: InputMaybe<Scalars['String']['input']>;\n team_id_null?: InputMaybe<Scalars['String']['input']>;\n tokens_cont?: InputMaybe<Scalars['String']['input']>;\n tokens_contains?: InputMaybe<Scalars['String']['input']>;\n tokens_end?: InputMaybe<Scalars['String']['input']>;\n tokens_eq?: InputMaybe<Scalars['String']['input']>;\n tokens_equals?: InputMaybe<Scalars['String']['input']>;\n tokens_in?: InputMaybe<Array<Scalars['String']['input']>>;\n tokens_not_eq?: InputMaybe<Scalars['String']['input']>;\n tokens_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n tokens_not_null?: InputMaybe<Scalars['String']['input']>;\n tokens_null?: InputMaybe<Scalars['String']['input']>;\n tokens_start?: InputMaybe<Scalars['String']['input']>;\n uid_cont?: InputMaybe<Scalars['String']['input']>;\n uid_contains?: InputMaybe<Scalars['String']['input']>;\n uid_end?: InputMaybe<Scalars['String']['input']>;\n uid_eq?: InputMaybe<Scalars['String']['input']>;\n uid_equals?: InputMaybe<Scalars['String']['input']>;\n uid_in?: InputMaybe<Array<Scalars['String']['input']>>;\n uid_not_eq?: InputMaybe<Scalars['String']['input']>;\n uid_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n uid_not_null?: InputMaybe<Scalars['String']['input']>;\n uid_null?: InputMaybe<Scalars['String']['input']>;\n uid_start?: InputMaybe<Scalars['String']['input']>;\n unconfirmed_email_cont?: InputMaybe<Scalars['String']['input']>;\n unconfirmed_email_contains?: InputMaybe<Scalars['String']['input']>;\n unconfirmed_email_end?: InputMaybe<Scalars['String']['input']>;\n unconfirmed_email_eq?: InputMaybe<Scalars['String']['input']>;\n unconfirmed_email_equals?: InputMaybe<Scalars['String']['input']>;\n unconfirmed_email_in?: InputMaybe<Array<Scalars['String']['input']>>;\n unconfirmed_email_not_eq?: InputMaybe<Scalars['String']['input']>;\n unconfirmed_email_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n unconfirmed_email_not_null?: InputMaybe<Scalars['String']['input']>;\n unconfirmed_email_null?: InputMaybe<Scalars['String']['input']>;\n unconfirmed_email_start?: InputMaybe<Scalars['String']['input']>;\n updated_at_eq?: InputMaybe<Scalars['String']['input']>;\n updated_at_equals?: InputMaybe<Scalars['String']['input']>;\n updated_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n updated_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n updated_at_not_null?: InputMaybe<Scalars['String']['input']>;\n updated_at_null?: InputMaybe<Scalars['String']['input']>;\n username_cont?: InputMaybe<Scalars['String']['input']>;\n username_contains?: InputMaybe<Scalars['String']['input']>;\n username_end?: InputMaybe<Scalars['String']['input']>;\n username_eq?: InputMaybe<Scalars['String']['input']>;\n username_equals?: InputMaybe<Scalars['String']['input']>;\n username_in?: InputMaybe<Array<Scalars['String']['input']>>;\n username_not_eq?: InputMaybe<Scalars['String']['input']>;\n username_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n username_not_null?: InputMaybe<Scalars['String']['input']>;\n username_null?: InputMaybe<Scalars['String']['input']>;\n username_start?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type UserPresence = {\n __typename?: 'UserPresence';\n author: User;\n finishedAt?: Maybe<Scalars['String']['output']>;\n id: Scalars['ID']['output'];\n startedAt: Scalars['String']['output'];\n user: User;\n workplaceId: Scalars['String']['output'];\n};\n\nexport type UserPresenceFilter = {\n author_id_eq?: InputMaybe<Scalars['String']['input']>;\n author_id_equals?: InputMaybe<Scalars['String']['input']>;\n author_id_gt?: InputMaybe<Scalars['String']['input']>;\n author_id_gteq?: InputMaybe<Scalars['String']['input']>;\n author_id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n author_id_lt?: InputMaybe<Scalars['String']['input']>;\n author_id_lteq?: InputMaybe<Scalars['String']['input']>;\n author_id_not_eq?: InputMaybe<Scalars['String']['input']>;\n author_id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n author_id_not_null?: InputMaybe<Scalars['String']['input']>;\n author_id_null?: InputMaybe<Scalars['String']['input']>;\n auto_closed_eq?: InputMaybe<Scalars['String']['input']>;\n auto_closed_equals?: InputMaybe<Scalars['String']['input']>;\n company_id_eq?: InputMaybe<Scalars['String']['input']>;\n company_id_equals?: InputMaybe<Scalars['String']['input']>;\n company_id_gt?: InputMaybe<Scalars['String']['input']>;\n company_id_gteq?: InputMaybe<Scalars['String']['input']>;\n company_id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n company_id_lt?: InputMaybe<Scalars['String']['input']>;\n company_id_lteq?: InputMaybe<Scalars['String']['input']>;\n company_id_not_eq?: InputMaybe<Scalars['String']['input']>;\n company_id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n company_id_not_null?: InputMaybe<Scalars['String']['input']>;\n company_id_null?: InputMaybe<Scalars['String']['input']>;\n created_at_eq?: InputMaybe<Scalars['String']['input']>;\n created_at_equals?: InputMaybe<Scalars['String']['input']>;\n created_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n created_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n created_at_not_null?: InputMaybe<Scalars['String']['input']>;\n created_at_null?: InputMaybe<Scalars['String']['input']>;\n finished_at_eq?: InputMaybe<Scalars['String']['input']>;\n finished_at_equals?: InputMaybe<Scalars['String']['input']>;\n finished_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n finished_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n finished_at_not_null?: InputMaybe<Scalars['String']['input']>;\n finished_at_null?: InputMaybe<Scalars['String']['input']>;\n id_eq?: InputMaybe<Scalars['String']['input']>;\n id_equals?: InputMaybe<Scalars['String']['input']>;\n id_gt?: InputMaybe<Scalars['String']['input']>;\n id_gteq?: InputMaybe<Scalars['String']['input']>;\n id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n id_lt?: InputMaybe<Scalars['String']['input']>;\n id_lteq?: InputMaybe<Scalars['String']['input']>;\n id_not_eq?: InputMaybe<Scalars['String']['input']>;\n id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n id_not_null?: InputMaybe<Scalars['String']['input']>;\n id_null?: InputMaybe<Scalars['String']['input']>;\n period?: InputMaybe<Period>;\n shift_id_eq?: InputMaybe<Scalars['String']['input']>;\n shift_id_equals?: InputMaybe<Scalars['String']['input']>;\n shift_id_gt?: InputMaybe<Scalars['String']['input']>;\n shift_id_gteq?: InputMaybe<Scalars['String']['input']>;\n shift_id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n shift_id_lt?: InputMaybe<Scalars['String']['input']>;\n shift_id_lteq?: InputMaybe<Scalars['String']['input']>;\n shift_id_not_eq?: InputMaybe<Scalars['String']['input']>;\n shift_id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n shift_id_not_null?: InputMaybe<Scalars['String']['input']>;\n shift_id_null?: InputMaybe<Scalars['String']['input']>;\n started_at_eq?: InputMaybe<Scalars['String']['input']>;\n started_at_equals?: InputMaybe<Scalars['String']['input']>;\n started_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n started_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n started_at_not_null?: InputMaybe<Scalars['String']['input']>;\n started_at_null?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_eq?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_equals?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_gt?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_gteq?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n subgroup_id_lt?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_lteq?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_not_eq?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n subgroup_id_not_null?: InputMaybe<Scalars['String']['input']>;\n subgroup_id_null?: InputMaybe<Scalars['String']['input']>;\n updated_at_eq?: InputMaybe<Scalars['String']['input']>;\n updated_at_equals?: InputMaybe<Scalars['String']['input']>;\n updated_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n updated_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n updated_at_not_null?: InputMaybe<Scalars['String']['input']>;\n updated_at_null?: InputMaybe<Scalars['String']['input']>;\n user_id_eq?: InputMaybe<Scalars['String']['input']>;\n user_id_equals?: InputMaybe<Scalars['String']['input']>;\n user_id_gt?: InputMaybe<Scalars['String']['input']>;\n user_id_gteq?: InputMaybe<Scalars['String']['input']>;\n user_id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n user_id_lt?: InputMaybe<Scalars['String']['input']>;\n user_id_lteq?: InputMaybe<Scalars['String']['input']>;\n user_id_not_eq?: InputMaybe<Scalars['String']['input']>;\n user_id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n user_id_not_null?: InputMaybe<Scalars['String']['input']>;\n user_id_null?: InputMaybe<Scalars['String']['input']>;\n uuid_eq?: InputMaybe<Scalars['String']['input']>;\n uuid_equals?: InputMaybe<Scalars['String']['input']>;\n uuid_in?: InputMaybe<Array<Scalars['String']['input']>>;\n uuid_not_eq?: InputMaybe<Scalars['String']['input']>;\n uuid_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n uuid_not_null?: InputMaybe<Scalars['String']['input']>;\n uuid_null?: InputMaybe<Scalars['String']['input']>;\n workplace_id_cont?: InputMaybe<Scalars['String']['input']>;\n workplace_id_contains?: InputMaybe<Scalars['String']['input']>;\n workplace_id_end?: InputMaybe<Scalars['String']['input']>;\n workplace_id_eq?: InputMaybe<Scalars['String']['input']>;\n workplace_id_equals?: InputMaybe<Scalars['String']['input']>;\n workplace_id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n workplace_id_not_eq?: InputMaybe<Scalars['String']['input']>;\n workplace_id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n workplace_id_not_null?: InputMaybe<Scalars['String']['input']>;\n workplace_id_null?: InputMaybe<Scalars['String']['input']>;\n workplace_id_start?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type Widget = {\n __typename?: 'Widget';\n config?: Maybe<Scalars['String']['output']>;\n id: Scalars['ID']['output'];\n};\n\nexport type WidgetFilter = {\n company_id_eq?: InputMaybe<Scalars['String']['input']>;\n company_id_equals?: InputMaybe<Scalars['String']['input']>;\n company_id_gt?: InputMaybe<Scalars['String']['input']>;\n company_id_gteq?: InputMaybe<Scalars['String']['input']>;\n company_id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n company_id_lt?: InputMaybe<Scalars['String']['input']>;\n company_id_lteq?: InputMaybe<Scalars['String']['input']>;\n company_id_not_eq?: InputMaybe<Scalars['String']['input']>;\n company_id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n company_id_not_null?: InputMaybe<Scalars['String']['input']>;\n company_id_null?: InputMaybe<Scalars['String']['input']>;\n config_contains?: InputMaybe<Scalars['String']['input']>;\n created_at_eq?: InputMaybe<Scalars['String']['input']>;\n created_at_equals?: InputMaybe<Scalars['String']['input']>;\n created_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n created_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n created_at_not_null?: InputMaybe<Scalars['String']['input']>;\n created_at_null?: InputMaybe<Scalars['String']['input']>;\n id_eq?: InputMaybe<Scalars['String']['input']>;\n id_equals?: InputMaybe<Scalars['String']['input']>;\n id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n id_not_eq?: InputMaybe<Scalars['String']['input']>;\n id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n id_not_null?: InputMaybe<Scalars['String']['input']>;\n id_null?: InputMaybe<Scalars['String']['input']>;\n updated_at_eq?: InputMaybe<Scalars['String']['input']>;\n updated_at_equals?: InputMaybe<Scalars['String']['input']>;\n updated_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n updated_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n updated_at_not_null?: InputMaybe<Scalars['String']['input']>;\n updated_at_null?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type WorkOrder = {\n __typename?: 'WorkOrder';\n assignees: Array<User>;\n category?: Maybe<WorkOrderCategory>;\n closedAt?: Maybe<Scalars['String']['output']>;\n createdAt: Scalars['String']['output'];\n creationMethod: WorkOrderCreationMethodEnum;\n description?: Maybe<Scalars['String']['output']>;\n dtrUrl?: Maybe<Scalars['String']['output']>;\n dueAt?: Maybe<Scalars['String']['output']>;\n id: Scalars['ID']['output'];\n name: Scalars['String']['output'];\n note?: Maybe<Scalars['String']['output']>;\n originalOccurrenceAt?: Maybe<Scalars['String']['output']>;\n priority: WorkOrderPriorityEnum;\n procedureDescription?: Maybe<Scalars['String']['output']>;\n procedureName?: Maybe<Scalars['String']['output']>;\n procedureResponse: Scalars['JSON']['output'];\n procedureTemplate: Scalars['JSON']['output'];\n startAt?: Maybe<Scalars['String']['output']>;\n status: WorkOrderStatusEnum;\n timeSpentHours?: Maybe<Scalars['Int']['output']>;\n timeSpentMinutes?: Maybe<Scalars['Int']['output']>;\n updatedAt: Scalars['String']['output'];\n workplaces: Array<Workplace>;\n};\n\nexport type WorkOrderCategory = {\n __typename?: 'WorkOrderCategory';\n description?: Maybe<Scalars['String']['output']>;\n id: Scalars['ID']['output'];\n name: Scalars['String']['output'];\n};\n\nexport enum WorkOrderCreationMethodEnum {\n ConditionBased = 'CONDITION_BASED',\n EventBased = 'EVENT_BASED',\n Manual = 'MANUAL',\n Scheduled = 'SCHEDULED',\n}\n\nexport type WorkOrderFilter = {\n creation_method_eq?: InputMaybe<WorkOrderCreationMethodEnum>;\n creation_method_equals?: InputMaybe<WorkOrderCreationMethodEnum>;\n creation_method_in?: InputMaybe<Array<WorkOrderCreationMethodEnum>>;\n creation_method_not_in?: InputMaybe<Array<WorkOrderCreationMethodEnum>>;\n id_eq?: InputMaybe<Scalars['ID']['input']>;\n id_in?: InputMaybe<Array<Scalars['ID']['input']>>;\n id_not_eq?: InputMaybe<Scalars['ID']['input']>;\n id_not_in?: InputMaybe<Array<Scalars['ID']['input']>>;\n priority_eq?: InputMaybe<WorkOrderPriorityEnum>;\n priority_equals?: InputMaybe<WorkOrderPriorityEnum>;\n priority_in?: InputMaybe<Array<WorkOrderPriorityEnum>>;\n priority_not_in?: InputMaybe<Array<WorkOrderPriorityEnum>>;\n s?: InputMaybe<Scalars['String']['input']>;\n status_eq?: InputMaybe<WorkOrderStatusEnum>;\n status_equals?: InputMaybe<WorkOrderStatusEnum>;\n status_in?: InputMaybe<Array<WorkOrderStatusEnum>>;\n status_not_in?: InputMaybe<Array<WorkOrderStatusEnum>>;\n workplace_ids_in?: InputMaybe<Array<Scalars['ID']['input']>>;\n workplace_ids_not_in?: InputMaybe<Array<Scalars['ID']['input']>>;\n};\n\nexport enum WorkOrderPriorityEnum {\n Critical = 'CRITICAL',\n High = 'HIGH',\n Low = 'LOW',\n Normal = 'NORMAL',\n}\n\nexport enum WorkOrderStatusEnum {\n Canceled = 'CANCELED',\n Done = 'DONE',\n InProgress = 'IN_PROGRESS',\n OnHold = 'ON_HOLD',\n Open = 'OPEN',\n}\n\nexport type WorkOrdersInsightsCategoryEntry = {\n __typename?: 'WorkOrdersInsightsCategoryEntry';\n categoryId: Scalars['ID']['output'];\n categoryName: Scalars['String']['output'];\n durations: Array<WorkOrdersInsightsDurationEntry>;\n totalCount: Scalars['Int']['output'];\n};\n\nexport type WorkOrdersInsightsDurationEntry = {\n __typename?: 'WorkOrdersInsightsDurationEntry';\n count: Scalars['Int']['output'];\n lowerBoundMinutes?: Maybe<Scalars['Int']['output']>;\n upperBoundMinutes?: Maybe<Scalars['Int']['output']>;\n};\n\nexport type WorkOrdersInsightsInput = {\n categoryIds?: InputMaybe<Array<Scalars['ID']['input']>>;\n dateFrom: Scalars['ISO8601DateTime']['input'];\n dateTo: Scalars['ISO8601DateTime']['input'];\n dayType: DayType;\n durationBoundaries: Array<Scalars['Int']['input']>;\n};\n\nexport type WorkOrdersInsightsResult = {\n __typename?: 'WorkOrdersInsightsResult';\n categories: Array<WorkOrdersInsightsCategoryEntry>;\n};\n\nexport type Workplace = {\n __typename?: 'Workplace';\n colorHex?: Maybe<Scalars['String']['output']>;\n currentStatusChange?: Maybe<StatusChange>;\n deactivated: Scalars['Boolean']['output'];\n departmentId?: Maybe<Scalars['String']['output']>;\n dtrUrl?: Maybe<Scalars['String']['output']>;\n id: Scalars['ID']['output'];\n minOperators: Scalars['Int']['output'];\n name: Scalars['String']['output'];\n reasonGroupId: Scalars['String']['output'];\n reasonsRecommendationsEnabled: Scalars['Boolean']['output'];\n};\n\nexport type WorkplaceAssignment = {\n __typename?: 'WorkplaceAssignment';\n createdAt: Scalars['ISO8601DateTime']['output'];\n id: Scalars['ID']['output'];\n shift: Shift;\n user: User;\n validFrom: Scalars['ISO8601Date']['output'];\n workplace?: Maybe<Workplace>;\n};\n\nexport type WorkplaceAssignmentsInput = {\n date: Scalars['ISO8601DateTime']['input'];\n departmentId?: InputMaybe<Scalars['ID']['input']>;\n shiftId: Scalars['ID']['input'];\n};\n\nexport type WorkplaceAssignmentsView = {\n __typename?: 'WorkplaceAssignmentsView';\n summary: AssignmentSummary;\n unassignedOperators: Array<User>;\n workplaces: Array<WorkplaceWithAssignment>;\n};\n\nexport type WorkplaceConfig = {\n __typename?: 'WorkplaceConfig';\n defaultScreen: ScreenEnum;\n menuDisplayItems: Array<ScreenEnum>;\n orderConfig: OrderConfig;\n orderExecutionConfig: OrderExecutionConfig;\n productConfig: ProductConfig;\n productionMode: ProductionMode;\n screenSaverConfig: ScreenSaverConfig;\n statusScreenDisplayBlocks?: Maybe<Array<StatusScreenDisplayBlocksEnum>>;\n workplaceId: Scalars['ID']['output'];\n};\n\nexport enum WorkplaceEvent {\n AllStatusChangeTransitionPermissionsUpdated = 'ALL_STATUS_CHANGE_TRANSITION_PERMISSIONS_UPDATED',\n CounterUpdated = 'COUNTER_UPDATED',\n CurrentShiftChanged = 'CURRENT_SHIFT_CHANGED',\n MetricValueUpdated = 'METRIC_VALUE_UPDATED',\n NotificationCreated = 'NOTIFICATION_CREATED',\n OrderExecutionUpdated = 'ORDER_EXECUTION_UPDATED',\n OrderUpdated = 'ORDER_UPDATED',\n StatusChangeCreated = 'STATUS_CHANGE_CREATED',\n StatusChangeUpdated = 'STATUS_CHANGE_UPDATED',\n UserPresenceCreated = 'USER_PRESENCE_CREATED',\n UserPresenceUpdated = 'USER_PRESENCE_UPDATED',\n}\n\nexport type WorkplaceEventSubjectUnion =\n | Counter\n | Item\n | MetricValue\n | Notification\n | Order\n | OrderExecution\n | Shift\n | StatusChange\n | UserPresence;\n\n/** Autogenerated return type of WorkplaceEventSubscription */\nexport type WorkplaceEventSubscriptionPayload = {\n __typename?: 'WorkplaceEventSubscriptionPayload';\n event: WorkplaceEvent;\n subject?: Maybe<WorkplaceEventSubjectUnion>;\n};\n\nexport type WorkplaceFilter = {\n availability_boost_eq?: InputMaybe<Scalars['String']['input']>;\n availability_boost_equals?: InputMaybe<Scalars['String']['input']>;\n availability_boost_gt?: InputMaybe<Scalars['String']['input']>;\n availability_boost_gteq?: InputMaybe<Scalars['String']['input']>;\n availability_boost_in?: InputMaybe<Array<Scalars['String']['input']>>;\n availability_boost_lt?: InputMaybe<Scalars['String']['input']>;\n availability_boost_lteq?: InputMaybe<Scalars['String']['input']>;\n availability_boost_not_eq?: InputMaybe<Scalars['String']['input']>;\n availability_boost_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n availability_boost_not_null?: InputMaybe<Scalars['String']['input']>;\n availability_boost_null?: InputMaybe<Scalars['String']['input']>;\n availability_target_eq?: InputMaybe<Scalars['String']['input']>;\n availability_target_equals?: InputMaybe<Scalars['String']['input']>;\n availability_target_gt?: InputMaybe<Scalars['String']['input']>;\n availability_target_gteq?: InputMaybe<Scalars['String']['input']>;\n availability_target_in?: InputMaybe<Array<Scalars['String']['input']>>;\n availability_target_lt?: InputMaybe<Scalars['String']['input']>;\n availability_target_lteq?: InputMaybe<Scalars['String']['input']>;\n availability_target_not_eq?: InputMaybe<Scalars['String']['input']>;\n availability_target_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n availability_target_not_null?: InputMaybe<Scalars['String']['input']>;\n availability_target_null?: InputMaybe<Scalars['String']['input']>;\n color_hex_cont?: InputMaybe<Scalars['String']['input']>;\n color_hex_contains?: InputMaybe<Scalars['String']['input']>;\n color_hex_end?: InputMaybe<Scalars['String']['input']>;\n color_hex_eq?: InputMaybe<Scalars['String']['input']>;\n color_hex_equals?: InputMaybe<Scalars['String']['input']>;\n color_hex_in?: InputMaybe<Array<Scalars['String']['input']>>;\n color_hex_not_eq?: InputMaybe<Scalars['String']['input']>;\n color_hex_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n color_hex_not_null?: InputMaybe<Scalars['String']['input']>;\n color_hex_null?: InputMaybe<Scalars['String']['input']>;\n color_hex_start?: InputMaybe<Scalars['String']['input']>;\n company_id_eq?: InputMaybe<Scalars['String']['input']>;\n company_id_equals?: InputMaybe<Scalars['String']['input']>;\n company_id_gt?: InputMaybe<Scalars['String']['input']>;\n company_id_gteq?: InputMaybe<Scalars['String']['input']>;\n company_id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n company_id_lt?: InputMaybe<Scalars['String']['input']>;\n company_id_lteq?: InputMaybe<Scalars['String']['input']>;\n company_id_not_eq?: InputMaybe<Scalars['String']['input']>;\n company_id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n company_id_not_null?: InputMaybe<Scalars['String']['input']>;\n company_id_null?: InputMaybe<Scalars['String']['input']>;\n created_at_eq?: InputMaybe<Scalars['String']['input']>;\n created_at_equals?: InputMaybe<Scalars['String']['input']>;\n created_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n created_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n created_at_not_null?: InputMaybe<Scalars['String']['input']>;\n created_at_null?: InputMaybe<Scalars['String']['input']>;\n current_order_id_eq?: InputMaybe<Scalars['String']['input']>;\n current_order_id_equals?: InputMaybe<Scalars['String']['input']>;\n current_order_id_gt?: InputMaybe<Scalars['String']['input']>;\n current_order_id_gteq?: InputMaybe<Scalars['String']['input']>;\n current_order_id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n current_order_id_lt?: InputMaybe<Scalars['String']['input']>;\n current_order_id_lteq?: InputMaybe<Scalars['String']['input']>;\n current_order_id_not_eq?: InputMaybe<Scalars['String']['input']>;\n current_order_id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n current_order_id_not_null?: InputMaybe<Scalars['String']['input']>;\n current_order_id_null?: InputMaybe<Scalars['String']['input']>;\n deactivated_eq?: InputMaybe<Scalars['String']['input']>;\n deactivated_equals?: InputMaybe<Scalars['String']['input']>;\n deleted_at_eq?: InputMaybe<Scalars['String']['input']>;\n deleted_at_equals?: InputMaybe<Scalars['String']['input']>;\n deleted_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n deleted_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n deleted_at_not_null?: InputMaybe<Scalars['String']['input']>;\n deleted_at_null?: InputMaybe<Scalars['String']['input']>;\n department_id_eq?: InputMaybe<Scalars['String']['input']>;\n department_id_equals?: InputMaybe<Scalars['String']['input']>;\n department_id_gt?: InputMaybe<Scalars['String']['input']>;\n department_id_gteq?: InputMaybe<Scalars['String']['input']>;\n department_id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n department_id_lt?: InputMaybe<Scalars['String']['input']>;\n department_id_lteq?: InputMaybe<Scalars['String']['input']>;\n department_id_not_eq?: InputMaybe<Scalars['String']['input']>;\n department_id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n department_id_not_null?: InputMaybe<Scalars['String']['input']>;\n department_id_null?: InputMaybe<Scalars['String']['input']>;\n id_eq?: InputMaybe<Scalars['String']['input']>;\n id_equals?: InputMaybe<Scalars['String']['input']>;\n id_gt?: InputMaybe<Scalars['String']['input']>;\n id_gteq?: InputMaybe<Scalars['String']['input']>;\n id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n id_lt?: InputMaybe<Scalars['String']['input']>;\n id_lteq?: InputMaybe<Scalars['String']['input']>;\n id_not_eq?: InputMaybe<Scalars['String']['input']>;\n id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n id_not_null?: InputMaybe<Scalars['String']['input']>;\n id_null?: InputMaybe<Scalars['String']['input']>;\n meta_contains?: InputMaybe<Scalars['String']['input']>;\n min_operators_eq?: InputMaybe<Scalars['String']['input']>;\n min_operators_equals?: InputMaybe<Scalars['String']['input']>;\n min_operators_gt?: InputMaybe<Scalars['String']['input']>;\n min_operators_gteq?: InputMaybe<Scalars['String']['input']>;\n min_operators_in?: InputMaybe<Array<Scalars['String']['input']>>;\n min_operators_lt?: InputMaybe<Scalars['String']['input']>;\n min_operators_lteq?: InputMaybe<Scalars['String']['input']>;\n min_operators_not_eq?: InputMaybe<Scalars['String']['input']>;\n min_operators_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n min_operators_not_null?: InputMaybe<Scalars['String']['input']>;\n min_operators_null?: InputMaybe<Scalars['String']['input']>;\n name_cont?: InputMaybe<Scalars['String']['input']>;\n name_contains?: InputMaybe<Scalars['String']['input']>;\n name_en_cont?: InputMaybe<Scalars['String']['input']>;\n name_en_contains?: InputMaybe<Scalars['String']['input']>;\n name_en_end?: InputMaybe<Scalars['String']['input']>;\n name_en_eq?: InputMaybe<Scalars['String']['input']>;\n name_en_equals?: InputMaybe<Scalars['String']['input']>;\n name_en_in?: InputMaybe<Array<Scalars['String']['input']>>;\n name_en_not_eq?: InputMaybe<Scalars['String']['input']>;\n name_en_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n name_en_not_null?: InputMaybe<Scalars['String']['input']>;\n name_en_null?: InputMaybe<Scalars['String']['input']>;\n name_en_start?: InputMaybe<Scalars['String']['input']>;\n name_end?: InputMaybe<Scalars['String']['input']>;\n name_eq?: InputMaybe<Scalars['String']['input']>;\n name_equals?: InputMaybe<Scalars['String']['input']>;\n name_in?: InputMaybe<Array<Scalars['String']['input']>>;\n name_not_eq?: InputMaybe<Scalars['String']['input']>;\n name_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n name_not_null?: InputMaybe<Scalars['String']['input']>;\n name_null?: InputMaybe<Scalars['String']['input']>;\n name_pl_cont?: InputMaybe<Scalars['String']['input']>;\n name_pl_contains?: InputMaybe<Scalars['String']['input']>;\n name_pl_end?: InputMaybe<Scalars['String']['input']>;\n name_pl_eq?: InputMaybe<Scalars['String']['input']>;\n name_pl_equals?: InputMaybe<Scalars['String']['input']>;\n name_pl_in?: InputMaybe<Array<Scalars['String']['input']>>;\n name_pl_not_eq?: InputMaybe<Scalars['String']['input']>;\n name_pl_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n name_pl_not_null?: InputMaybe<Scalars['String']['input']>;\n name_pl_null?: InputMaybe<Scalars['String']['input']>;\n name_pl_start?: InputMaybe<Scalars['String']['input']>;\n name_start?: InputMaybe<Scalars['String']['input']>;\n oee_boost_eq?: InputMaybe<Scalars['String']['input']>;\n oee_boost_equals?: InputMaybe<Scalars['String']['input']>;\n oee_boost_gt?: InputMaybe<Scalars['String']['input']>;\n oee_boost_gteq?: InputMaybe<Scalars['String']['input']>;\n oee_boost_in?: InputMaybe<Array<Scalars['String']['input']>>;\n oee_boost_lt?: InputMaybe<Scalars['String']['input']>;\n oee_boost_lteq?: InputMaybe<Scalars['String']['input']>;\n oee_boost_not_eq?: InputMaybe<Scalars['String']['input']>;\n oee_boost_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n oee_boost_not_null?: InputMaybe<Scalars['String']['input']>;\n oee_boost_null?: InputMaybe<Scalars['String']['input']>;\n oee_target_eq?: InputMaybe<Scalars['String']['input']>;\n oee_target_equals?: InputMaybe<Scalars['String']['input']>;\n oee_target_gt?: InputMaybe<Scalars['String']['input']>;\n oee_target_gteq?: InputMaybe<Scalars['String']['input']>;\n oee_target_in?: InputMaybe<Array<Scalars['String']['input']>>;\n oee_target_lt?: InputMaybe<Scalars['String']['input']>;\n oee_target_lteq?: InputMaybe<Scalars['String']['input']>;\n oee_target_not_eq?: InputMaybe<Scalars['String']['input']>;\n oee_target_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n oee_target_not_null?: InputMaybe<Scalars['String']['input']>;\n oee_target_null?: InputMaybe<Scalars['String']['input']>;\n performance_boost_eq?: InputMaybe<Scalars['String']['input']>;\n performance_boost_equals?: InputMaybe<Scalars['String']['input']>;\n performance_boost_gt?: InputMaybe<Scalars['String']['input']>;\n performance_boost_gteq?: InputMaybe<Scalars['String']['input']>;\n performance_boost_in?: InputMaybe<Array<Scalars['String']['input']>>;\n performance_boost_lt?: InputMaybe<Scalars['String']['input']>;\n performance_boost_lteq?: InputMaybe<Scalars['String']['input']>;\n performance_boost_not_eq?: InputMaybe<Scalars['String']['input']>;\n performance_boost_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n performance_boost_not_null?: InputMaybe<Scalars['String']['input']>;\n performance_boost_null?: InputMaybe<Scalars['String']['input']>;\n performance_target_eq?: InputMaybe<Scalars['String']['input']>;\n performance_target_equals?: InputMaybe<Scalars['String']['input']>;\n performance_target_gt?: InputMaybe<Scalars['String']['input']>;\n performance_target_gteq?: InputMaybe<Scalars['String']['input']>;\n performance_target_in?: InputMaybe<Array<Scalars['String']['input']>>;\n performance_target_lt?: InputMaybe<Scalars['String']['input']>;\n performance_target_lteq?: InputMaybe<Scalars['String']['input']>;\n performance_target_not_eq?: InputMaybe<Scalars['String']['input']>;\n performance_target_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n performance_target_not_null?: InputMaybe<Scalars['String']['input']>;\n performance_target_null?: InputMaybe<Scalars['String']['input']>;\n production_mode_eq?: InputMaybe<Scalars['String']['input']>;\n production_mode_equals?: InputMaybe<Scalars['String']['input']>;\n production_mode_gt?: InputMaybe<Scalars['String']['input']>;\n production_mode_gteq?: InputMaybe<Scalars['String']['input']>;\n production_mode_in?: InputMaybe<Array<Scalars['String']['input']>>;\n production_mode_lt?: InputMaybe<Scalars['String']['input']>;\n production_mode_lteq?: InputMaybe<Scalars['String']['input']>;\n production_mode_not_eq?: InputMaybe<Scalars['String']['input']>;\n production_mode_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n production_mode_not_null?: InputMaybe<Scalars['String']['input']>;\n production_mode_null?: InputMaybe<Scalars['String']['input']>;\n quality_boost_eq?: InputMaybe<Scalars['String']['input']>;\n quality_boost_equals?: InputMaybe<Scalars['String']['input']>;\n quality_boost_gt?: InputMaybe<Scalars['String']['input']>;\n quality_boost_gteq?: InputMaybe<Scalars['String']['input']>;\n quality_boost_in?: InputMaybe<Array<Scalars['String']['input']>>;\n quality_boost_lt?: InputMaybe<Scalars['String']['input']>;\n quality_boost_lteq?: InputMaybe<Scalars['String']['input']>;\n quality_boost_not_eq?: InputMaybe<Scalars['String']['input']>;\n quality_boost_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n quality_boost_not_null?: InputMaybe<Scalars['String']['input']>;\n quality_boost_null?: InputMaybe<Scalars['String']['input']>;\n quality_target_eq?: InputMaybe<Scalars['String']['input']>;\n quality_target_equals?: InputMaybe<Scalars['String']['input']>;\n quality_target_gt?: InputMaybe<Scalars['String']['input']>;\n quality_target_gteq?: InputMaybe<Scalars['String']['input']>;\n quality_target_in?: InputMaybe<Array<Scalars['String']['input']>>;\n quality_target_lt?: InputMaybe<Scalars['String']['input']>;\n quality_target_lteq?: InputMaybe<Scalars['String']['input']>;\n quality_target_not_eq?: InputMaybe<Scalars['String']['input']>;\n quality_target_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n quality_target_not_null?: InputMaybe<Scalars['String']['input']>;\n quality_target_null?: InputMaybe<Scalars['String']['input']>;\n reason_group_id_eq?: InputMaybe<Scalars['String']['input']>;\n reason_group_id_equals?: InputMaybe<Scalars['String']['input']>;\n reason_group_id_gt?: InputMaybe<Scalars['String']['input']>;\n reason_group_id_gteq?: InputMaybe<Scalars['String']['input']>;\n reason_group_id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n reason_group_id_lt?: InputMaybe<Scalars['String']['input']>;\n reason_group_id_lteq?: InputMaybe<Scalars['String']['input']>;\n reason_group_id_not_eq?: InputMaybe<Scalars['String']['input']>;\n reason_group_id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n reason_group_id_not_null?: InputMaybe<Scalars['String']['input']>;\n reason_group_id_null?: InputMaybe<Scalars['String']['input']>;\n reasons_recommendations_enabled_eq?: InputMaybe<Scalars['String']['input']>;\n reasons_recommendations_enabled_equals?: InputMaybe<Scalars['String']['input']>;\n screen_saver_auto_sign_out_eq?: InputMaybe<Scalars['String']['input']>;\n screen_saver_auto_sign_out_equals?: InputMaybe<Scalars['String']['input']>;\n screen_saver_display_after_idle_eq?: InputMaybe<Scalars['String']['input']>;\n screen_saver_display_after_idle_equals?: InputMaybe<Scalars['String']['input']>;\n screen_saver_display_after_order_created_eq?: InputMaybe<Scalars['String']['input']>;\n screen_saver_display_after_order_created_equals?: InputMaybe<Scalars['String']['input']>;\n screen_saver_display_after_status_change_created_eq?: InputMaybe<Scalars['String']['input']>;\n screen_saver_display_after_status_change_created_equals?: InputMaybe<Scalars['String']['input']>;\n screen_saver_enabled_eq?: InputMaybe<Scalars['String']['input']>;\n screen_saver_enabled_equals?: InputMaybe<Scalars['String']['input']>;\n screen_saver_idle_time_eq?: InputMaybe<Scalars['String']['input']>;\n screen_saver_idle_time_equals?: InputMaybe<Scalars['String']['input']>;\n screen_saver_idle_time_gt?: InputMaybe<Scalars['String']['input']>;\n screen_saver_idle_time_gteq?: InputMaybe<Scalars['String']['input']>;\n screen_saver_idle_time_in?: InputMaybe<Array<Scalars['String']['input']>>;\n screen_saver_idle_time_lt?: InputMaybe<Scalars['String']['input']>;\n screen_saver_idle_time_lteq?: InputMaybe<Scalars['String']['input']>;\n screen_saver_idle_time_not_eq?: InputMaybe<Scalars['String']['input']>;\n screen_saver_idle_time_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n screen_saver_idle_time_not_null?: InputMaybe<Scalars['String']['input']>;\n screen_saver_idle_time_null?: InputMaybe<Scalars['String']['input']>;\n shift_end_reason_id_eq?: InputMaybe<Scalars['String']['input']>;\n shift_end_reason_id_equals?: InputMaybe<Scalars['String']['input']>;\n shift_end_reason_id_gt?: InputMaybe<Scalars['String']['input']>;\n shift_end_reason_id_gteq?: InputMaybe<Scalars['String']['input']>;\n shift_end_reason_id_in?: InputMaybe<Array<Scalars['String']['input']>>;\n shift_end_reason_id_lt?: InputMaybe<Scalars['String']['input']>;\n shift_end_reason_id_lteq?: InputMaybe<Scalars['String']['input']>;\n shift_end_reason_id_not_eq?: InputMaybe<Scalars['String']['input']>;\n shift_end_reason_id_not_in?: InputMaybe<Array<Scalars['String']['input']>>;\n shift_end_reason_id_not_null?: InputMaybe<Scalars['String']['input']>;\n shift_end_reason_id_null?: InputMaybe<Scalars['String']['input']>;\n updated_at_eq?: InputMaybe<Scalars['String']['input']>;\n updated_at_equals?: InputMaybe<Scalars['String']['input']>;\n updated_at_gteq_datetime?: InputMaybe<Scalars['String']['input']>;\n updated_at_lteq_datetime?: InputMaybe<Scalars['String']['input']>;\n updated_at_not_null?: InputMaybe<Scalars['String']['input']>;\n updated_at_null?: InputMaybe<Scalars['String']['input']>;\n verify_existence_of_standard_rate_for_order_eq?: InputMaybe<Scalars['String']['input']>;\n verify_existence_of_standard_rate_for_order_equals?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type WorkplacePerformanceInsightsInput = {\n availabilityStatuses?: InputMaybe<Array<AvailabilityStatus>>;\n dayType?: InputMaybe<DayType>;\n endDate: Scalars['ISO8601DateTime']['input'];\n shiftIds: Array<Scalars['ID']['input']>;\n sortOrder?: InputMaybe<Scalars['String']['input']>;\n startDate: Scalars['ISO8601DateTime']['input'];\n userIds?: InputMaybe<Array<Scalars['ID']['input']>>;\n workplaceId: Scalars['ID']['input'];\n};\n\nexport type WorkplacePerformanceInsightsReason = {\n __typename?: 'WorkplacePerformanceInsightsReason';\n availabilityStatus: AvailabilityStatus;\n averageDuration: Scalars['String']['output'];\n averageDurationSeconds: Scalars['Float']['output'];\n maxDuration: Scalars['String']['output'];\n maxDurationSeconds: Scalars['Float']['output'];\n occurrences: Scalars['Int']['output'];\n percentage: Scalars['Float']['output'];\n reasonColor: AndonLightColor;\n reasonId: Scalars['ID']['output'];\n reasonName: Scalars['String']['output'];\n statusChanges: Array<WorkplacePerformanceInsightsStatusChange>;\n totalDuration: Scalars['String']['output'];\n totalSeconds: Scalars['Float']['output'];\n};\n\nexport type WorkplacePerformanceInsightsResult = {\n __typename?: 'WorkplacePerformanceInsightsResult';\n endDate: Scalars['ISO8601DateTime']['output'];\n mtbf: Scalars['String']['output'];\n mtbfSeconds?: Maybe<Scalars['Float']['output']>;\n mttr: Scalars['String']['output'];\n mttrSeconds?: Maybe<Scalars['Float']['output']>;\n offScheduleDuration: Scalars['String']['output'];\n offScheduleSeconds: Scalars['Float']['output'];\n reasons: Array<WorkplacePerformanceInsightsReason>;\n startDate: Scalars['ISO8601DateTime']['output'];\n totalDowntime: Scalars['String']['output'];\n totalDowntimePercentage: Scalars['Float']['output'];\n totalDowntimeSeconds: Scalars['Float']['output'];\n totalDuration: Scalars['String']['output'];\n totalSeconds: Scalars['Float']['output'];\n totalUptime: Scalars['String']['output'];\n totalUptimePercentage: Scalars['Float']['output'];\n totalUptimeSeconds: Scalars['Float']['output'];\n workplaceId: Scalars['ID']['output'];\n workplaceName: Scalars['String']['output'];\n};\n\nexport type WorkplacePerformanceInsightsStatusChange = {\n __typename?: 'WorkplacePerformanceInsightsStatusChange';\n firstSegmentStart: Scalars['ISO8601DateTime']['output'];\n id: Scalars['ID']['output'];\n lastSegmentEnd: Scalars['ISO8601DateTime']['output'];\n note?: Maybe<Scalars['String']['output']>;\n originalEnd?: Maybe<Scalars['ISO8601DateTime']['output']>;\n originalStart: Scalars['ISO8601DateTime']['output'];\n segments?: Maybe<Scalars['JSON']['output']>;\n totalSegmentDuration: Scalars['String']['output'];\n totalSegmentSeconds: Scalars['Float']['output'];\n uuid: Scalars['String']['output'];\n};\n\nexport type WorkplaceWithAssignment = {\n __typename?: 'WorkplaceWithAssignment';\n assignedCount: Scalars['Int']['output'];\n assignedOperators: Array<AssignedOperator>;\n isOvercapacity: Scalars['Boolean']['output'];\n missingCount: Scalars['Int']['output'];\n recommendedOperators: Scalars['Int']['output'];\n unplannedOperators: Array<UnplannedOperator>;\n workplace: Workplace;\n};\n\nexport type AssignOperatorToWorkplaceMutationVariables = Exact<{\n input: AssignOperatorInput;\n}>;\n\nexport type AssignOperatorToWorkplaceMutation = {\n __typename?: 'Mutation';\n assignOperatorToWorkplace: {\n __typename?: 'AssignOperatorToWorkplacePayload';\n assignment?: {\n __typename?: 'WorkplaceAssignment';\n createdAt: any;\n id: string;\n validFrom: any;\n shift: { __typename?: 'Shift'; finishedAt: string; id: string; name: string; startedAt: string };\n user: { __typename?: 'User'; id: string; login: string; name: string };\n workplace?: {\n __typename?: 'Workplace';\n colorHex?: string | null;\n deactivated: boolean;\n departmentId?: string | null;\n dtrUrl?: string | null;\n id: string;\n minOperators: number;\n name: string;\n reasonGroupId: string;\n reasonsRecommendationsEnabled: boolean;\n currentStatusChange?: {\n __typename?: 'StatusChange';\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n reasonHasBeenRecommended: boolean;\n startedAt: string;\n workplaceId: string;\n author: { __typename?: 'User'; id: string; login: string; name: string };\n order?: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n items: Array<{\n __typename?: 'Item';\n count: number;\n id: string;\n order: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n workplaces: Array<{\n __typename?: 'Workplace';\n colorHex?: string | null;\n deactivated: boolean;\n departmentId?: string | null;\n dtrUrl?: string | null;\n id: string;\n minOperators: number;\n name: string;\n reasonGroupId: string;\n reasonsRecommendationsEnabled: boolean;\n currentStatusChange?: {\n __typename?: 'StatusChange';\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n reasonHasBeenRecommended: boolean;\n startedAt: string;\n workplaceId: string;\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n reason: {\n __typename?: 'Reason';\n acceptanceMonit: boolean;\n canBeRecommended: boolean;\n hasNote: boolean;\n id: string;\n isNoteRequired: boolean;\n leaf: boolean;\n name: string;\n parentId?: string | null;\n position: number;\n reasonGroupId: string;\n statusColor: AndonLightColor;\n temporary: boolean;\n };\n } | null;\n }>;\n };\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n }>;\n } | null;\n } | null;\n } | null;\n } | null;\n errors?: Array<{ __typename?: 'MutationError'; field?: string | null; messages: Array<string> }> | null;\n };\n};\n\nexport type BulkUpsertStaffingPlansMutationVariables = Exact<{\n input: BulkStaffingPlanInput;\n}>;\n\nexport type BulkUpsertStaffingPlansMutation = {\n __typename?: 'Mutation';\n bulkUpsertStaffingPlans: {\n __typename?: 'BulkUpsertStaffingPlansPayload';\n errors?: Array<{ __typename?: 'MutationError'; field?: string | null; messages: Array<string> }> | null;\n staffingPlans?: Array<{\n __typename?: 'StaffingPlan';\n id: string;\n date: any;\n recommendedOperators: number;\n createdAt: any;\n updatedAt: any;\n workplace: {\n __typename?: 'Workplace';\n colorHex?: string | null;\n deactivated: boolean;\n departmentId?: string | null;\n dtrUrl?: string | null;\n id: string;\n minOperators: number;\n name: string;\n reasonGroupId: string;\n reasonsRecommendationsEnabled: boolean;\n currentStatusChange?: {\n __typename?: 'StatusChange';\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n reasonHasBeenRecommended: boolean;\n startedAt: string;\n workplaceId: string;\n author: { __typename?: 'User'; id: string; login: string; name: string };\n order?: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n items: Array<{\n __typename?: 'Item';\n count: number;\n id: string;\n order: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n workplaces: Array<{\n __typename?: 'Workplace';\n colorHex?: string | null;\n deactivated: boolean;\n departmentId?: string | null;\n dtrUrl?: string | null;\n id: string;\n minOperators: number;\n name: string;\n reasonGroupId: string;\n reasonsRecommendationsEnabled: boolean;\n currentStatusChange?: {\n __typename?: 'StatusChange';\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n reasonHasBeenRecommended: boolean;\n startedAt: string;\n workplaceId: string;\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n reason: {\n __typename?: 'Reason';\n acceptanceMonit: boolean;\n canBeRecommended: boolean;\n hasNote: boolean;\n id: string;\n isNoteRequired: boolean;\n leaf: boolean;\n name: string;\n parentId?: string | null;\n position: number;\n reasonGroupId: string;\n statusColor: AndonLightColor;\n temporary: boolean;\n };\n } | null;\n }>;\n };\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n }>;\n } | null;\n } | null;\n };\n shift: { __typename?: 'Shift'; finishedAt: string; id: string; name: string; startedAt: string };\n author: { __typename?: 'User'; id: string; login: string; name: string };\n }> | null;\n };\n};\n\nexport type CreateDashboardMutationVariables = Exact<{\n filters?: InputMaybe<Scalars['String']['input']>;\n gridLayout?: InputMaybe<Scalars['String']['input']>;\n id: Scalars['ID']['input'];\n name: Scalars['String']['input'];\n}>;\n\nexport type CreateDashboardMutation = {\n __typename?: 'Mutation';\n createDashboard: {\n __typename?: 'CreateDashboardPayload';\n dashboard?: {\n __typename?: 'Dashboard';\n filters?: string | null;\n gridLayout?: string | null;\n id: string;\n name: string;\n } | null;\n errors?: Array<{ __typename?: 'MutationError'; field?: string | null; messages: Array<string> }> | null;\n };\n};\n\nexport type CreateOrderMutationVariables = Exact<{\n id: Scalars['ID']['input'];\n number: Scalars['String']['input'];\n}>;\n\nexport type CreateOrderMutation = {\n __typename?: 'Mutation';\n createOrder: {\n __typename?: 'CreateOrderPayload';\n errors?: Array<{ __typename?: 'MutationError'; field?: string | null; messages: Array<string> }> | null;\n order?: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n items: Array<{\n __typename?: 'Item';\n count: number;\n id: string;\n order: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n workplaces: Array<{\n __typename?: 'Workplace';\n colorHex?: string | null;\n deactivated: boolean;\n departmentId?: string | null;\n dtrUrl?: string | null;\n id: string;\n minOperators: number;\n name: string;\n reasonGroupId: string;\n reasonsRecommendationsEnabled: boolean;\n currentStatusChange?: {\n __typename?: 'StatusChange';\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n reasonHasBeenRecommended: boolean;\n startedAt: string;\n workplaceId: string;\n author: { __typename?: 'User'; id: string; login: string; name: string };\n order?: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n } | null;\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n reason: {\n __typename?: 'Reason';\n acceptanceMonit: boolean;\n canBeRecommended: boolean;\n hasNote: boolean;\n id: string;\n isNoteRequired: boolean;\n leaf: boolean;\n name: string;\n parentId?: string | null;\n position: number;\n reasonGroupId: string;\n statusColor: AndonLightColor;\n temporary: boolean;\n };\n } | null;\n }>;\n };\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n }>;\n } | null;\n };\n};\n\nexport type CreateProductMutationVariables = Exact<{\n id: Scalars['ID']['input'];\n name?: InputMaybe<Scalars['String']['input']>;\n number: Scalars['String']['input'];\n}>;\n\nexport type CreateProductMutation = {\n __typename?: 'Mutation';\n createProduct: {\n __typename?: 'CreateProductPayload';\n errors?: Array<{ __typename?: 'MutationError'; field?: string | null; messages: Array<string> }> | null;\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n };\n};\n\nexport type CreateStaffingPlanMutationVariables = Exact<{\n input: StaffingPlanInput;\n}>;\n\nexport type CreateStaffingPlanMutation = {\n __typename?: 'Mutation';\n createStaffingPlan: {\n __typename?: 'CreateStaffingPlanPayload';\n errors?: Array<{ __typename?: 'MutationError'; field?: string | null; messages: Array<string> }> | null;\n staffingPlan?: {\n __typename?: 'StaffingPlan';\n id: string;\n date: any;\n recommendedOperators: number;\n createdAt: any;\n updatedAt: any;\n workplace: {\n __typename?: 'Workplace';\n colorHex?: string | null;\n deactivated: boolean;\n departmentId?: string | null;\n dtrUrl?: string | null;\n id: string;\n minOperators: number;\n name: string;\n reasonGroupId: string;\n reasonsRecommendationsEnabled: boolean;\n currentStatusChange?: {\n __typename?: 'StatusChange';\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n reasonHasBeenRecommended: boolean;\n startedAt: string;\n workplaceId: string;\n author: { __typename?: 'User'; id: string; login: string; name: string };\n order?: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n items: Array<{\n __typename?: 'Item';\n count: number;\n id: string;\n order: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n workplaces: Array<{\n __typename?: 'Workplace';\n colorHex?: string | null;\n deactivated: boolean;\n departmentId?: string | null;\n dtrUrl?: string | null;\n id: string;\n minOperators: number;\n name: string;\n reasonGroupId: string;\n reasonsRecommendationsEnabled: boolean;\n currentStatusChange?: {\n __typename?: 'StatusChange';\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n reasonHasBeenRecommended: boolean;\n startedAt: string;\n workplaceId: string;\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n reason: {\n __typename?: 'Reason';\n acceptanceMonit: boolean;\n canBeRecommended: boolean;\n hasNote: boolean;\n id: string;\n isNoteRequired: boolean;\n leaf: boolean;\n name: string;\n parentId?: string | null;\n position: number;\n reasonGroupId: string;\n statusColor: AndonLightColor;\n temporary: boolean;\n };\n } | null;\n }>;\n };\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n }>;\n } | null;\n } | null;\n };\n shift: { __typename?: 'Shift'; finishedAt: string; id: string; name: string; startedAt: string };\n author: { __typename?: 'User'; id: string; login: string; name: string };\n } | null;\n };\n};\n\nexport type CreateStatusChangeMutationVariables = Exact<{\n id: Scalars['ID']['input'];\n note?: InputMaybe<Scalars['String']['input']>;\n reasonHasBeenRecommended?: InputMaybe<Scalars['Boolean']['input']>;\n reasonId: Scalars['ID']['input'];\n startedAt?: InputMaybe<Scalars['String']['input']>;\n userId?: InputMaybe<Scalars['ID']['input']>;\n workplaceId: Scalars['ID']['input'];\n}>;\n\nexport type CreateStatusChangeMutation = {\n __typename?: 'Mutation';\n createStatusChange: {\n __typename?: 'CreateStatusChangePayload';\n errors?: Array<{ __typename?: 'MutationError'; field?: string | null; messages: Array<string> }> | null;\n statusChange?: {\n __typename?: 'StatusChange';\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n reasonHasBeenRecommended: boolean;\n startedAt: string;\n workplaceId: string;\n author: { __typename?: 'User'; id: string; login: string; name: string };\n order?: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n items: Array<{\n __typename?: 'Item';\n count: number;\n id: string;\n order: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n workplaces: Array<{\n __typename?: 'Workplace';\n colorHex?: string | null;\n deactivated: boolean;\n departmentId?: string | null;\n dtrUrl?: string | null;\n id: string;\n minOperators: number;\n name: string;\n reasonGroupId: string;\n reasonsRecommendationsEnabled: boolean;\n currentStatusChange?: {\n __typename?: 'StatusChange';\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n reasonHasBeenRecommended: boolean;\n startedAt: string;\n workplaceId: string;\n author: { __typename?: 'User'; id: string; login: string; name: string };\n order?: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n } | null;\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n reason: {\n __typename?: 'Reason';\n acceptanceMonit: boolean;\n canBeRecommended: boolean;\n hasNote: boolean;\n id: string;\n isNoteRequired: boolean;\n leaf: boolean;\n name: string;\n parentId?: string | null;\n position: number;\n reasonGroupId: string;\n statusColor: AndonLightColor;\n temporary: boolean;\n };\n } | null;\n }>;\n };\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n }>;\n } | null;\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n reason: {\n __typename?: 'Reason';\n acceptanceMonit: boolean;\n canBeRecommended: boolean;\n hasNote: boolean;\n id: string;\n isNoteRequired: boolean;\n leaf: boolean;\n name: string;\n parentId?: string | null;\n position: number;\n reasonGroupId: string;\n statusColor: AndonLightColor;\n temporary: boolean;\n };\n } | null;\n };\n};\n\nexport type CreateUserPresenceMutationVariables = Exact<{\n id: Scalars['ID']['input'];\n userToken: Scalars['String']['input'];\n workplaceId: Scalars['ID']['input'];\n}>;\n\nexport type CreateUserPresenceMutation = {\n __typename?: 'Mutation';\n createUserPresence: {\n __typename?: 'CreateUserPresencePayload';\n errors?: Array<{ __typename?: 'MutationError'; field?: string | null; messages: Array<string> }> | null;\n userPresence?: {\n __typename?: 'UserPresence';\n finishedAt?: string | null;\n id: string;\n startedAt: string;\n workplaceId: string;\n author: { __typename?: 'User'; id: string; login: string; name: string };\n user: { __typename?: 'User'; id: string; login: string; name: string };\n } | null;\n };\n};\n\nexport type CreateWidgetMutationVariables = Exact<{\n config?: InputMaybe<Scalars['String']['input']>;\n id: Scalars['ID']['input'];\n}>;\n\nexport type CreateWidgetMutation = {\n __typename?: 'Mutation';\n createWidget: {\n __typename?: 'CreateWidgetPayload';\n errors?: Array<{ __typename?: 'MutationError'; field?: string | null; messages: Array<string> }> | null;\n widget?: { __typename?: 'Widget'; config?: string | null; id: string } | null;\n };\n};\n\nexport type PauseOrderExecutionMutationVariables = Exact<{\n id: Scalars['ID']['input'];\n statusChangeId: Scalars['ID']['input'];\n}>;\n\nexport type PauseOrderExecutionMutation = {\n __typename?: 'Mutation';\n pauseOrderExecution: {\n __typename?: 'PauseOrderExecutionPayload';\n errors?: Array<{ __typename?: 'MutationError'; field?: string | null; messages: Array<string> }> | null;\n orderExecution?: {\n __typename?: 'OrderExecution';\n finishedAt?: string | null;\n id: string;\n itemCount?: number | null;\n note?: string | null;\n standardRateMismatched: boolean;\n startedAt: string;\n workplaceId: string;\n item?: {\n __typename?: 'Item';\n count: number;\n id: string;\n order: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n items: Array<{\n __typename?: 'Item';\n count: number;\n id: string;\n order: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n workplaces: Array<{\n __typename?: 'Workplace';\n colorHex?: string | null;\n deactivated: boolean;\n departmentId?: string | null;\n dtrUrl?: string | null;\n id: string;\n minOperators: number;\n name: string;\n reasonGroupId: string;\n reasonsRecommendationsEnabled: boolean;\n currentStatusChange?: {\n __typename?: 'StatusChange';\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n reasonHasBeenRecommended: boolean;\n startedAt: string;\n workplaceId: string;\n author: { __typename?: 'User'; id: string; login: string; name: string };\n order?: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n } | null;\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n reason: {\n __typename?: 'Reason';\n acceptanceMonit: boolean;\n canBeRecommended: boolean;\n hasNote: boolean;\n id: string;\n isNoteRequired: boolean;\n leaf: boolean;\n name: string;\n parentId?: string | null;\n position: number;\n reasonGroupId: string;\n statusColor: AndonLightColor;\n temporary: boolean;\n };\n } | null;\n }>;\n };\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n }>;\n };\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n } | null;\n order: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n };\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n } | null;\n };\n};\n\nexport type RemoveDashboardMutationVariables = Exact<{\n id: Scalars['ID']['input'];\n}>;\n\nexport type RemoveDashboardMutation = {\n __typename?: 'Mutation';\n removeDashboard: {\n __typename?: 'RemoveDashboardPayload';\n errors?: Array<{ __typename?: 'MutationError'; field?: string | null; messages: Array<string> }> | null;\n };\n};\n\nexport type RemoveStaffingPlanMutationVariables = Exact<{\n id: Scalars['ID']['input'];\n}>;\n\nexport type RemoveStaffingPlanMutation = {\n __typename?: 'Mutation';\n removeStaffingPlan: {\n __typename?: 'RemoveStaffingPlanPayload';\n errors?: Array<{ __typename?: 'MutationError'; field?: string | null; messages: Array<string> }> | null;\n };\n};\n\nexport type RemoveUserPresenceMutationVariables = Exact<{\n id: Scalars['ID']['input'];\n}>;\n\nexport type RemoveUserPresenceMutation = {\n __typename?: 'Mutation';\n removeUserPresence: {\n __typename?: 'RemoveUserPresencePayload';\n errors?: Array<{ __typename?: 'MutationError'; field?: string | null; messages: Array<string> }> | null;\n };\n};\n\nexport type RemoveWidgetMutationVariables = Exact<{\n id: Scalars['ID']['input'];\n}>;\n\nexport type RemoveWidgetMutation = {\n __typename?: 'Mutation';\n removeWidget: {\n __typename?: 'RemoveWidgetPayload';\n errors?: Array<{ __typename?: 'MutationError'; field?: string | null; messages: Array<string> }> | null;\n };\n};\n\nexport type RemoveWorkplaceUsersPresencesMutationVariables = Exact<{\n workplaceId: Scalars['ID']['input'];\n}>;\n\nexport type RemoveWorkplaceUsersPresencesMutation = {\n __typename?: 'Mutation';\n removeWorkplaceUsersPresences: {\n __typename?: 'RemoveWorkplaceUsersPresencesPayload';\n errors?: Array<{ __typename?: 'MutationError'; field?: string | null; messages: Array<string> }> | null;\n };\n};\n\nexport type RequestFeatureAccessMutationVariables = Exact<{\n input: RequestFeatureAccessInput;\n}>;\n\nexport type RequestFeatureAccessMutation = {\n __typename?: 'Mutation';\n requestFeatureAccess: {\n __typename?: 'RequestFeatureAccessMutationPayload';\n success: boolean;\n errors?: Array<{ __typename?: 'MutationError'; field?: string | null; messages: Array<string> }> | null;\n };\n};\n\nexport type SetCounterMutationVariables = Exact<{\n id: Scalars['ID']['input'];\n note?: InputMaybe<Scalars['String']['input']>;\n orderExecutionId?: InputMaybe<Scalars['ID']['input']>;\n value: Scalars['Float']['input'];\n}>;\n\nexport type SetCounterMutation = {\n __typename?: 'Mutation';\n setCounter: {\n __typename?: 'SetCounterPayload';\n counter?: {\n __typename?: 'Counter';\n directoryId?: string | null;\n hasNote: boolean;\n id: string;\n isDisabled: boolean;\n kind: CounterKindEnum;\n name: string;\n position: number;\n value: number;\n workplaceId: string;\n } | null;\n errors?: Array<{ __typename?: 'MutationError'; field?: string | null; messages: Array<string> }> | null;\n };\n};\n\nexport type StartOrderExecutionMutationVariables = Exact<{\n id: Scalars['ID']['input'];\n itemCount?: InputMaybe<Scalars['Float']['input']>;\n order: OrderInput;\n product?: InputMaybe<ProductInput>;\n statusChangeId: Scalars['ID']['input'];\n workplaceId: Scalars['ID']['input'];\n}>;\n\nexport type StartOrderExecutionMutation = {\n __typename?: 'Mutation';\n startOrderExecution: {\n __typename?: 'StartOrderExecutionPayload';\n errors?: Array<{ __typename?: 'MutationError'; field?: string | null; messages: Array<string> }> | null;\n orderExecution?: {\n __typename?: 'OrderExecution';\n finishedAt?: string | null;\n id: string;\n itemCount?: number | null;\n note?: string | null;\n standardRateMismatched: boolean;\n startedAt: string;\n workplaceId: string;\n item?: {\n __typename?: 'Item';\n count: number;\n id: string;\n order: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n items: Array<{\n __typename?: 'Item';\n count: number;\n id: string;\n order: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n workplaces: Array<{\n __typename?: 'Workplace';\n colorHex?: string | null;\n deactivated: boolean;\n departmentId?: string | null;\n dtrUrl?: string | null;\n id: string;\n minOperators: number;\n name: string;\n reasonGroupId: string;\n reasonsRecommendationsEnabled: boolean;\n currentStatusChange?: {\n __typename?: 'StatusChange';\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n reasonHasBeenRecommended: boolean;\n startedAt: string;\n workplaceId: string;\n author: { __typename?: 'User'; id: string; login: string; name: string };\n order?: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n } | null;\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n reason: {\n __typename?: 'Reason';\n acceptanceMonit: boolean;\n canBeRecommended: boolean;\n hasNote: boolean;\n id: string;\n isNoteRequired: boolean;\n leaf: boolean;\n name: string;\n parentId?: string | null;\n position: number;\n reasonGroupId: string;\n statusColor: AndonLightColor;\n temporary: boolean;\n };\n } | null;\n }>;\n };\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n }>;\n };\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n } | null;\n order: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n };\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n } | null;\n };\n};\n\nexport type StartTrialMutationVariables = Exact<{\n input: StartTrialInput;\n}>;\n\nexport type StartTrialMutation = {\n __typename?: 'Mutation';\n startTrial: {\n __typename?: 'StartTrialMutationPayload';\n success: boolean;\n errors?: Array<{ __typename?: 'MutationError'; field?: string | null; messages: Array<string> }> | null;\n };\n};\n\nexport type StopOrderExecutionMutationVariables = Exact<{\n id: Scalars['ID']['input'];\n statusChangeId: Scalars['ID']['input'];\n}>;\n\nexport type StopOrderExecutionMutation = {\n __typename?: 'Mutation';\n stopOrderExecution: {\n __typename?: 'StopOrderExecutionPayload';\n errors?: Array<{ __typename?: 'MutationError'; field?: string | null; messages: Array<string> }> | null;\n orderExecution?: {\n __typename?: 'OrderExecution';\n finishedAt?: string | null;\n id: string;\n itemCount?: number | null;\n note?: string | null;\n standardRateMismatched: boolean;\n startedAt: string;\n workplaceId: string;\n item?: {\n __typename?: 'Item';\n count: number;\n id: string;\n order: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n items: Array<{\n __typename?: 'Item';\n count: number;\n id: string;\n order: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n workplaces: Array<{\n __typename?: 'Workplace';\n colorHex?: string | null;\n deactivated: boolean;\n departmentId?: string | null;\n dtrUrl?: string | null;\n id: string;\n minOperators: number;\n name: string;\n reasonGroupId: string;\n reasonsRecommendationsEnabled: boolean;\n currentStatusChange?: {\n __typename?: 'StatusChange';\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n reasonHasBeenRecommended: boolean;\n startedAt: string;\n workplaceId: string;\n author: { __typename?: 'User'; id: string; login: string; name: string };\n order?: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n } | null;\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n reason: {\n __typename?: 'Reason';\n acceptanceMonit: boolean;\n canBeRecommended: boolean;\n hasNote: boolean;\n id: string;\n isNoteRequired: boolean;\n leaf: boolean;\n name: string;\n parentId?: string | null;\n position: number;\n reasonGroupId: string;\n statusColor: AndonLightColor;\n temporary: boolean;\n };\n } | null;\n }>;\n };\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n }>;\n };\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n } | null;\n order: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n };\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n } | null;\n };\n};\n\nexport type UnassignOperatorFromWorkplaceMutationVariables = Exact<{\n input: UnassignOperatorInput;\n}>;\n\nexport type UnassignOperatorFromWorkplaceMutation = {\n __typename?: 'Mutation';\n unassignOperatorFromWorkplace: {\n __typename?: 'UnassignOperatorFromWorkplacePayload';\n assignment?: {\n __typename?: 'WorkplaceAssignment';\n createdAt: any;\n id: string;\n validFrom: any;\n shift: { __typename?: 'Shift'; finishedAt: string; id: string; name: string; startedAt: string };\n user: { __typename?: 'User'; id: string; login: string; name: string };\n workplace?: {\n __typename?: 'Workplace';\n colorHex?: string | null;\n deactivated: boolean;\n departmentId?: string | null;\n dtrUrl?: string | null;\n id: string;\n minOperators: number;\n name: string;\n reasonGroupId: string;\n reasonsRecommendationsEnabled: boolean;\n currentStatusChange?: {\n __typename?: 'StatusChange';\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n reasonHasBeenRecommended: boolean;\n startedAt: string;\n workplaceId: string;\n author: { __typename?: 'User'; id: string; login: string; name: string };\n order?: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n items: Array<{\n __typename?: 'Item';\n count: number;\n id: string;\n order: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n workplaces: Array<{\n __typename?: 'Workplace';\n colorHex?: string | null;\n deactivated: boolean;\n departmentId?: string | null;\n dtrUrl?: string | null;\n id: string;\n minOperators: number;\n name: string;\n reasonGroupId: string;\n reasonsRecommendationsEnabled: boolean;\n currentStatusChange?: {\n __typename?: 'StatusChange';\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n reasonHasBeenRecommended: boolean;\n startedAt: string;\n workplaceId: string;\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n reason: {\n __typename?: 'Reason';\n acceptanceMonit: boolean;\n canBeRecommended: boolean;\n hasNote: boolean;\n id: string;\n isNoteRequired: boolean;\n leaf: boolean;\n name: string;\n parentId?: string | null;\n position: number;\n reasonGroupId: string;\n statusColor: AndonLightColor;\n temporary: boolean;\n };\n } | null;\n }>;\n };\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n }>;\n } | null;\n } | null;\n } | null;\n } | null;\n errors?: Array<{ __typename?: 'MutationError'; field?: string | null; messages: Array<string> }> | null;\n };\n};\n\nexport type UpdateDashboardMutationVariables = Exact<{\n filters?: InputMaybe<Scalars['String']['input']>;\n gridLayout: Scalars['String']['input'];\n id: Scalars['ID']['input'];\n name?: InputMaybe<Scalars['String']['input']>;\n}>;\n\nexport type UpdateDashboardMutation = {\n __typename?: 'Mutation';\n updateDashboard: {\n __typename?: 'UpdateDashboardPayload';\n dashboard?: {\n __typename?: 'Dashboard';\n filters?: string | null;\n gridLayout?: string | null;\n id: string;\n name: string;\n } | null;\n errors?: Array<{ __typename?: 'MutationError'; field?: string | null; messages: Array<string> }> | null;\n };\n};\n\nexport type UpdateNotificationMutationVariables = Exact<{\n id: Scalars['ID']['input'];\n status: Scalars['String']['input'];\n}>;\n\nexport type UpdateNotificationMutation = {\n __typename?: 'Mutation';\n updateNotification: {\n __typename?: 'UpdateNotificationPayload';\n errors?: Array<{ __typename?: 'MutationError'; field?: string | null; messages: Array<string> }> | null;\n notification?: {\n __typename?: 'Notification';\n channel?: string | null;\n details?: string | null;\n emitterId: string;\n emitterType: string;\n id: string;\n message: string;\n receiverId: string;\n receiverType: string;\n status?: string | null;\n } | null;\n };\n};\n\nexport type UpdateOrderMutationVariables = Exact<{\n input: UpdateOrderInput;\n}>;\n\nexport type UpdateOrderMutation = {\n __typename?: 'Mutation';\n updateOrder: {\n __typename?: 'UpdateOrderPayload';\n errors?: Array<{ __typename?: 'MutationError'; field?: string | null; messages: Array<string> }> | null;\n order?: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n items: Array<{\n __typename?: 'Item';\n count: number;\n id: string;\n order: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n workplaces: Array<{\n __typename?: 'Workplace';\n colorHex?: string | null;\n deactivated: boolean;\n departmentId?: string | null;\n dtrUrl?: string | null;\n id: string;\n minOperators: number;\n name: string;\n reasonGroupId: string;\n reasonsRecommendationsEnabled: boolean;\n currentStatusChange?: {\n __typename?: 'StatusChange';\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n reasonHasBeenRecommended: boolean;\n startedAt: string;\n workplaceId: string;\n author: { __typename?: 'User'; id: string; login: string; name: string };\n order?: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n } | null;\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n reason: {\n __typename?: 'Reason';\n acceptanceMonit: boolean;\n canBeRecommended: boolean;\n hasNote: boolean;\n id: string;\n isNoteRequired: boolean;\n leaf: boolean;\n name: string;\n parentId?: string | null;\n position: number;\n reasonGroupId: string;\n statusColor: AndonLightColor;\n temporary: boolean;\n };\n } | null;\n }>;\n };\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n }>;\n } | null;\n };\n};\n\nexport type UpdateOrderExecutionMutationVariables = Exact<{\n id: Scalars['ID']['input'];\n standardRateId: Scalars['ID']['input'];\n}>;\n\nexport type UpdateOrderExecutionMutation = {\n __typename?: 'Mutation';\n updateOrderExecution: {\n __typename?: 'UpdateOrderExecutionPayload';\n errors?: Array<{ __typename?: 'MutationError'; field?: string | null; messages: Array<string> }> | null;\n orderExecution?: {\n __typename?: 'OrderExecution';\n finishedAt?: string | null;\n id: string;\n itemCount?: number | null;\n note?: string | null;\n standardRateMismatched: boolean;\n startedAt: string;\n workplaceId: string;\n item?: {\n __typename?: 'Item';\n count: number;\n id: string;\n order: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n items: Array<{\n __typename?: 'Item';\n count: number;\n id: string;\n order: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n workplaces: Array<{\n __typename?: 'Workplace';\n colorHex?: string | null;\n deactivated: boolean;\n departmentId?: string | null;\n dtrUrl?: string | null;\n id: string;\n minOperators: number;\n name: string;\n reasonGroupId: string;\n reasonsRecommendationsEnabled: boolean;\n currentStatusChange?: {\n __typename?: 'StatusChange';\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n reasonHasBeenRecommended: boolean;\n startedAt: string;\n workplaceId: string;\n author: { __typename?: 'User'; id: string; login: string; name: string };\n order?: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n } | null;\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n reason: {\n __typename?: 'Reason';\n acceptanceMonit: boolean;\n canBeRecommended: boolean;\n hasNote: boolean;\n id: string;\n isNoteRequired: boolean;\n leaf: boolean;\n name: string;\n parentId?: string | null;\n position: number;\n reasonGroupId: string;\n statusColor: AndonLightColor;\n temporary: boolean;\n };\n } | null;\n }>;\n };\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n }>;\n };\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n } | null;\n order: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n };\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n } | null;\n };\n};\n\nexport type UpdateStaffingPlanMutationVariables = Exact<{\n input: StaffingPlanUpdateInput;\n}>;\n\nexport type UpdateStaffingPlanMutation = {\n __typename?: 'Mutation';\n updateStaffingPlan: {\n __typename?: 'UpdateStaffingPlanPayload';\n errors?: Array<{ __typename?: 'MutationError'; field?: string | null; messages: Array<string> }> | null;\n staffingPlan?: {\n __typename?: 'StaffingPlan';\n id: string;\n date: any;\n recommendedOperators: number;\n createdAt: any;\n updatedAt: any;\n workplace: {\n __typename?: 'Workplace';\n colorHex?: string | null;\n deactivated: boolean;\n departmentId?: string | null;\n dtrUrl?: string | null;\n id: string;\n minOperators: number;\n name: string;\n reasonGroupId: string;\n reasonsRecommendationsEnabled: boolean;\n currentStatusChange?: {\n __typename?: 'StatusChange';\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n reasonHasBeenRecommended: boolean;\n startedAt: string;\n workplaceId: string;\n author: { __typename?: 'User'; id: string; login: string; name: string };\n order?: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n items: Array<{\n __typename?: 'Item';\n count: number;\n id: string;\n order: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n workplaces: Array<{\n __typename?: 'Workplace';\n colorHex?: string | null;\n deactivated: boolean;\n departmentId?: string | null;\n dtrUrl?: string | null;\n id: string;\n minOperators: number;\n name: string;\n reasonGroupId: string;\n reasonsRecommendationsEnabled: boolean;\n currentStatusChange?: {\n __typename?: 'StatusChange';\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n reasonHasBeenRecommended: boolean;\n startedAt: string;\n workplaceId: string;\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n reason: {\n __typename?: 'Reason';\n acceptanceMonit: boolean;\n canBeRecommended: boolean;\n hasNote: boolean;\n id: string;\n isNoteRequired: boolean;\n leaf: boolean;\n name: string;\n parentId?: string | null;\n position: number;\n reasonGroupId: string;\n statusColor: AndonLightColor;\n temporary: boolean;\n };\n } | null;\n }>;\n };\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n }>;\n } | null;\n } | null;\n };\n shift: { __typename?: 'Shift'; finishedAt: string; id: string; name: string; startedAt: string };\n author: { __typename?: 'User'; id: string; login: string; name: string };\n } | null;\n };\n};\n\nexport type UpdateStatusChangeMutationVariables = Exact<{\n input: UpdateStatusChangeInput;\n}>;\n\nexport type UpdateStatusChangeMutation = {\n __typename?: 'Mutation';\n updateStatusChange: {\n __typename?: 'UpdateStatusChangePayload';\n errors?: Array<{ __typename?: 'MutationError'; field?: string | null; messages: Array<string> }> | null;\n statusChange?: {\n __typename?: 'StatusChange';\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n reasonHasBeenRecommended: boolean;\n startedAt: string;\n workplaceId: string;\n author: { __typename?: 'User'; id: string; login: string; name: string };\n order?: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n items: Array<{\n __typename?: 'Item';\n count: number;\n id: string;\n order: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n workplaces: Array<{\n __typename?: 'Workplace';\n colorHex?: string | null;\n deactivated: boolean;\n departmentId?: string | null;\n dtrUrl?: string | null;\n id: string;\n minOperators: number;\n name: string;\n reasonGroupId: string;\n reasonsRecommendationsEnabled: boolean;\n currentStatusChange?: {\n __typename?: 'StatusChange';\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n reasonHasBeenRecommended: boolean;\n startedAt: string;\n workplaceId: string;\n author: { __typename?: 'User'; id: string; login: string; name: string };\n order?: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n } | null;\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n reason: {\n __typename?: 'Reason';\n acceptanceMonit: boolean;\n canBeRecommended: boolean;\n hasNote: boolean;\n id: string;\n isNoteRequired: boolean;\n leaf: boolean;\n name: string;\n parentId?: string | null;\n position: number;\n reasonGroupId: string;\n statusColor: AndonLightColor;\n temporary: boolean;\n };\n } | null;\n }>;\n };\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n }>;\n } | null;\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n reason: {\n __typename?: 'Reason';\n acceptanceMonit: boolean;\n canBeRecommended: boolean;\n hasNote: boolean;\n id: string;\n isNoteRequired: boolean;\n leaf: boolean;\n name: string;\n parentId?: string | null;\n position: number;\n reasonGroupId: string;\n statusColor: AndonLightColor;\n temporary: boolean;\n };\n } | null;\n };\n};\n\nexport type UpdateWidgetMutationVariables = Exact<{\n config: Scalars['String']['input'];\n id: Scalars['ID']['input'];\n}>;\n\nexport type UpdateWidgetMutation = {\n __typename?: 'Mutation';\n updateWidget: {\n __typename?: 'UpdateWidgetPayload';\n errors?: Array<{ __typename?: 'MutationError'; field?: string | null; messages: Array<string> }> | null;\n widget?: { __typename?: 'Widget'; config?: string | null; id: string } | null;\n };\n};\n\nexport type UpdateWorkOrderMutationVariables = Exact<{\n id: Scalars['ID']['input'];\n input: UpdateWorkOrderInput;\n}>;\n\nexport type UpdateWorkOrderMutation = {\n __typename?: 'Mutation';\n updateWorkOrder: {\n __typename?: 'UpdateWorkOrderPayload';\n errors?: Array<{ __typename?: 'MutationError'; field?: string | null; messages: Array<string> }> | null;\n workOrder?: {\n __typename?: 'WorkOrder';\n closedAt?: string | null;\n createdAt: string;\n creationMethod: WorkOrderCreationMethodEnum;\n description?: string | null;\n dtrUrl?: string | null;\n dueAt?: string | null;\n id: string;\n name: string;\n note?: string | null;\n originalOccurrenceAt?: string | null;\n priority: WorkOrderPriorityEnum;\n procedureDescription?: string | null;\n procedureName?: string | null;\n procedureResponse: any;\n procedureTemplate: any;\n startAt?: string | null;\n status: WorkOrderStatusEnum;\n timeSpentHours?: number | null;\n timeSpentMinutes?: number | null;\n updatedAt: string;\n assignees: Array<{ __typename?: 'User'; id: string; login: string; name: string }>;\n category?: { __typename?: 'WorkOrderCategory'; description?: string | null; id: string; name: string } | null;\n workplaces: Array<{\n __typename?: 'Workplace';\n colorHex?: string | null;\n deactivated: boolean;\n departmentId?: string | null;\n dtrUrl?: string | null;\n id: string;\n minOperators: number;\n name: string;\n reasonGroupId: string;\n reasonsRecommendationsEnabled: boolean;\n currentStatusChange?: {\n __typename?: 'StatusChange';\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n reasonHasBeenRecommended: boolean;\n startedAt: string;\n workplaceId: string;\n author: { __typename?: 'User'; id: string; login: string; name: string };\n order?: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n items: Array<{\n __typename?: 'Item';\n count: number;\n id: string;\n order: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n workplaces: Array<{\n __typename?: 'Workplace';\n colorHex?: string | null;\n deactivated: boolean;\n departmentId?: string | null;\n dtrUrl?: string | null;\n id: string;\n minOperators: number;\n name: string;\n reasonGroupId: string;\n reasonsRecommendationsEnabled: boolean;\n }>;\n };\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n }>;\n } | null;\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n reason: {\n __typename?: 'Reason';\n acceptanceMonit: boolean;\n canBeRecommended: boolean;\n hasNote: boolean;\n id: string;\n isNoteRequired: boolean;\n leaf: boolean;\n name: string;\n parentId?: string | null;\n position: number;\n reasonGroupId: string;\n statusColor: AndonLightColor;\n temporary: boolean;\n };\n } | null;\n }>;\n } | null;\n };\n};\n\nexport type ActualStaffingCountsQueryVariables = Exact<{\n filter?: InputMaybe<ActualStaffingCountFilter>;\n}>;\n\nexport type ActualStaffingCountsQuery = {\n __typename?: 'Query';\n actualStaffingCounts: Array<{\n __typename?: 'ActualStaffingCount';\n date: any;\n actualOperators: number;\n plannedOperators?: number | null;\n hasDeviation: boolean;\n workplace: {\n __typename?: 'Workplace';\n colorHex?: string | null;\n deactivated: boolean;\n departmentId?: string | null;\n dtrUrl?: string | null;\n id: string;\n minOperators: number;\n name: string;\n reasonGroupId: string;\n reasonsRecommendationsEnabled: boolean;\n currentStatusChange?: {\n __typename?: 'StatusChange';\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n reasonHasBeenRecommended: boolean;\n startedAt: string;\n workplaceId: string;\n author: { __typename?: 'User'; id: string; login: string; name: string };\n order?: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n items: Array<{\n __typename?: 'Item';\n count: number;\n id: string;\n order: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n workplaces: Array<{\n __typename?: 'Workplace';\n colorHex?: string | null;\n deactivated: boolean;\n departmentId?: string | null;\n dtrUrl?: string | null;\n id: string;\n minOperators: number;\n name: string;\n reasonGroupId: string;\n reasonsRecommendationsEnabled: boolean;\n currentStatusChange?: {\n __typename?: 'StatusChange';\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n reasonHasBeenRecommended: boolean;\n startedAt: string;\n workplaceId: string;\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n reason: {\n __typename?: 'Reason';\n acceptanceMonit: boolean;\n canBeRecommended: boolean;\n hasNote: boolean;\n id: string;\n isNoteRequired: boolean;\n leaf: boolean;\n name: string;\n parentId?: string | null;\n position: number;\n reasonGroupId: string;\n statusColor: AndonLightColor;\n temporary: boolean;\n };\n } | null;\n }>;\n };\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n }>;\n } | null;\n } | null;\n };\n shift: { __typename?: 'Shift'; finishedAt: string; id: string; name: string; startedAt: string };\n }>;\n};\n\nexport type ApplicationInfoQueryVariables = Exact<{ [key: string]: never }>;\n\nexport type ApplicationInfoQuery = {\n __typename?: 'Query';\n applicationInfo: { __typename?: 'ApplicationInfo'; apiVersion: string };\n};\n\nexport type AvailabilityInsightsQueryVariables = Exact<{\n input: AvailabilityInsightsInput;\n}>;\n\nexport type AvailabilityInsightsQuery = {\n __typename?: 'Query';\n availabilityInsights: {\n __typename?: 'AvailabilityInsightsResult';\n entries: Array<{ __typename?: 'AvailabilityInsightsEntry'; availability: number; label: string; noData: boolean }>;\n };\n};\n\nexport type CompanyConfigQueryVariables = Exact<{ [key: string]: never }>;\n\nexport type CompanyConfigQuery = {\n __typename?: 'Query';\n companyConfig: {\n __typename?: 'CompanyConfig';\n displayedKpiItems: Array<string>;\n reasonsRecommendationsEnabled: boolean;\n statusChangeTransitionPermissionsUpdatedAt?: string | null;\n devicesConfigs: Array<{ __typename?: 'DeviceConfig'; defaultWorkplaceId: string; deviceId: string; name: string }>;\n roleConfig: { __typename?: 'RoleConfig'; historyVisibilityEnabled: boolean; orderCreationAllowed: boolean };\n workplacesConfigs: Array<{\n __typename?: 'WorkplaceConfig';\n defaultScreen: ScreenEnum;\n menuDisplayItems: Array<ScreenEnum>;\n productionMode: ProductionMode;\n statusScreenDisplayBlocks?: Array<StatusScreenDisplayBlocksEnum> | null;\n workplaceId: string;\n orderConfig: {\n __typename?: 'OrderConfig';\n alternativeName: boolean;\n numberPrefix?: string | null;\n numberRegexp?: string | null;\n };\n orderExecutionConfig: {\n __typename?: 'OrderExecutionConfig';\n afterPauseReasonId?: string | null;\n afterStartReasonId?: string | null;\n afterStopReasonId?: string | null;\n featureEnabled: boolean;\n formOrderFields: Array<string>;\n formProductFields: Array<string>;\n formQuantityFields: Array<string>;\n itemCountUnit: string;\n noPlanCanCreateOrderNote?: string | null;\n noPlanNeedVerificationNote?: string | null;\n orderInternalNoteText?: string | null;\n orderInternalNoteTitle?: string | null;\n productInternalNoteText?: string | null;\n productInternalNoteTitle?: string | null;\n quantityInternalNoteText?: string | null;\n quantityInternalNoteTitle?: string | null;\n stopEnabled: boolean;\n };\n productConfig: {\n __typename?: 'ProductConfig';\n alternativeName: boolean;\n numberPrefix?: string | null;\n numberRegexp?: string | null;\n };\n screenSaverConfig: {\n __typename?: 'ScreenSaverConfig';\n autoSignOut: boolean;\n displayAfterIdle: boolean;\n displayAfterOrderCreated: boolean;\n displayAfterStatusChangeCreated: boolean;\n enabled: boolean;\n idleTime: number;\n };\n }>;\n };\n};\n\nexport type CounterDirectoriesQueryVariables = Exact<{\n filter?: InputMaybe<CounterDirectoryFilter>;\n}>;\n\nexport type CounterDirectoriesQuery = {\n __typename?: 'Query';\n counterDirectories: Array<{\n __typename?: 'CounterDirectory';\n directoryId?: string | null;\n id: string;\n name?: string | null;\n position: number;\n workplaceId: string;\n }>;\n};\n\nexport type CountersQueryVariables = Exact<{\n filter?: InputMaybe<CounterFilter>;\n}>;\n\nexport type CountersQuery = {\n __typename?: 'Query';\n counters: Array<{\n __typename?: 'Counter';\n directoryId?: string | null;\n hasNote: boolean;\n id: string;\n isDisabled: boolean;\n kind: CounterKindEnum;\n name: string;\n position: number;\n value: number;\n workplaceId: string;\n }>;\n};\n\nexport type CurrentUserQueryVariables = Exact<{ [key: string]: never }>;\n\nexport type CurrentUserQuery = {\n __typename?: 'Query';\n currentUser: { __typename?: 'User'; id: string; login: string; name: string };\n};\n\nexport type DashboardsQueryVariables = Exact<{\n filter?: InputMaybe<DashboardFilter>;\n}>;\n\nexport type DashboardsQuery = {\n __typename?: 'Query';\n dashboards: Array<{\n __typename?: 'Dashboard';\n filters?: string | null;\n gridLayout?: string | null;\n id: string;\n name: string;\n }>;\n};\n\nexport type DepartmentsQueryVariables = Exact<{\n filter?: InputMaybe<DepartmentFilter>;\n}>;\n\nexport type DepartmentsQuery = {\n __typename?: 'Query';\n departments: Array<{ __typename?: 'Department'; id: string; name: string }>;\n};\n\nexport type FloorPlansQueryVariables = Exact<{\n filter?: InputMaybe<FloorPlanFilter>;\n}>;\n\nexport type FloorPlansQuery = {\n __typename?: 'Query';\n floorPlans: Array<{ __typename?: 'FloorPlan'; id: string; imageUrl: string; name: string }>;\n};\n\nexport type MetricValuesQueryVariables = Exact<{\n metricIds?: InputMaybe<Array<Scalars['ID']['input']> | Scalars['ID']['input']>;\n workplaceIds?: InputMaybe<Array<Scalars['ID']['input']> | Scalars['ID']['input']>;\n}>;\n\nexport type MetricValuesQuery = {\n __typename?: 'Query';\n metricValues: Array<{\n __typename?: 'MetricValue';\n active: boolean;\n id: string;\n metricId: string;\n statusColor: AndonLightColor;\n textValue?: string | null;\n timer?: number | null;\n type: MetricTypeEnum;\n unit?: MetricUnitEnum | null;\n workplaceId: string;\n }>;\n};\n\nexport type MetricsQueryVariables = Exact<{ [key: string]: never }>;\n\nexport type MetricsQuery = {\n __typename?: 'Query';\n metrics: Array<{ __typename?: 'Metric'; id: string; name: string }>;\n};\n\nexport type NotificationsQueryVariables = Exact<{\n filter?: InputMaybe<NotificationFilter>;\n}>;\n\nexport type NotificationsQuery = {\n __typename?: 'Query';\n notifications: Array<{\n __typename?: 'Notification';\n channel?: string | null;\n details?: string | null;\n emitterId: string;\n emitterType: string;\n id: string;\n message: string;\n receiverId: string;\n receiverType: string;\n status?: string | null;\n }>;\n};\n\nexport type OrdersQueryVariables = Exact<{\n filter?: InputMaybe<OrderFilter>;\n}>;\n\nexport type OrdersQuery = {\n __typename?: 'Query';\n orders: Array<{\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n items: Array<{\n __typename?: 'Item';\n count: number;\n id: string;\n order: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n items: Array<{\n __typename?: 'Item';\n count: number;\n id: string;\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n }>;\n workplaces: Array<{\n __typename?: 'Workplace';\n colorHex?: string | null;\n deactivated: boolean;\n departmentId?: string | null;\n dtrUrl?: string | null;\n id: string;\n minOperators: number;\n name: string;\n reasonGroupId: string;\n reasonsRecommendationsEnabled: boolean;\n currentStatusChange?: {\n __typename?: 'StatusChange';\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n reasonHasBeenRecommended: boolean;\n startedAt: string;\n workplaceId: string;\n author: { __typename?: 'User'; id: string; login: string; name: string };\n order?: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n } | null;\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n reason: {\n __typename?: 'Reason';\n acceptanceMonit: boolean;\n canBeRecommended: boolean;\n hasNote: boolean;\n id: string;\n isNoteRequired: boolean;\n leaf: boolean;\n name: string;\n parentId?: string | null;\n position: number;\n reasonGroupId: string;\n statusColor: AndonLightColor;\n temporary: boolean;\n };\n } | null;\n }>;\n };\n }>;\n workplaces: Array<{\n __typename?: 'Workplace';\n colorHex?: string | null;\n deactivated: boolean;\n departmentId?: string | null;\n dtrUrl?: string | null;\n id: string;\n minOperators: number;\n name: string;\n reasonGroupId: string;\n reasonsRecommendationsEnabled: boolean;\n }>;\n }>;\n};\n\nexport type OrdersExecutionsQueryVariables = Exact<{\n filter?: InputMaybe<OrderExecutionFilter>;\n}>;\n\nexport type OrdersExecutionsQuery = {\n __typename?: 'Query';\n ordersExecutions: Array<{\n __typename?: 'OrderExecution';\n finishedAt?: string | null;\n id: string;\n itemCount?: number | null;\n note?: string | null;\n standardRateMismatched: boolean;\n startedAt: string;\n workplaceId: string;\n item?: {\n __typename?: 'Item';\n count: number;\n id: string;\n order: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n items: Array<{\n __typename?: 'Item';\n count: number;\n id: string;\n order: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n workplaces: Array<{\n __typename?: 'Workplace';\n colorHex?: string | null;\n deactivated: boolean;\n departmentId?: string | null;\n dtrUrl?: string | null;\n id: string;\n minOperators: number;\n name: string;\n reasonGroupId: string;\n reasonsRecommendationsEnabled: boolean;\n currentStatusChange?: {\n __typename?: 'StatusChange';\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n reasonHasBeenRecommended: boolean;\n startedAt: string;\n workplaceId: string;\n author: { __typename?: 'User'; id: string; login: string; name: string };\n order?: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n } | null;\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n reason: {\n __typename?: 'Reason';\n acceptanceMonit: boolean;\n canBeRecommended: boolean;\n hasNote: boolean;\n id: string;\n isNoteRequired: boolean;\n leaf: boolean;\n name: string;\n parentId?: string | null;\n position: number;\n reasonGroupId: string;\n statusColor: AndonLightColor;\n temporary: boolean;\n };\n } | null;\n }>;\n };\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n }>;\n };\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n } | null;\n order: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n };\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n }>;\n};\n\nexport type ProductionInsightsQueryVariables = Exact<{\n input: ProductionInsightsInput;\n}>;\n\nexport type ProductionInsightsQuery = {\n __typename?: 'Query';\n productionInsights: {\n __typename?: 'ProductionInsightsResult';\n entries: Array<{ __typename?: 'ProductionInsightsEntry'; count: number; label: string }>;\n };\n};\n\nexport type ProductsQueryVariables = Exact<{\n filter?: InputMaybe<ProductFilter>;\n}>;\n\nexport type ProductsQuery = {\n __typename?: 'Query';\n products: Array<{\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n }>;\n};\n\nexport type ReasonsQueryVariables = Exact<{\n filter?: InputMaybe<ReasonFilter>;\n}>;\n\nexport type ReasonsQuery = {\n __typename?: 'Query';\n reasons: Array<{\n __typename?: 'Reason';\n acceptanceMonit: boolean;\n canBeRecommended: boolean;\n hasNote: boolean;\n id: string;\n isNoteRequired: boolean;\n leaf: boolean;\n name: string;\n parentId?: string | null;\n position: number;\n reasonGroupId: string;\n statusColor: AndonLightColor;\n temporary: boolean;\n }>;\n};\n\nexport type ReasonsRecommendationQueryVariables = Exact<{\n workplaceId: Scalars['String']['input'];\n}>;\n\nexport type ReasonsRecommendationQuery = {\n __typename?: 'Query';\n reasonsRecommendation?: {\n __typename?: 'ReasonsRecommendation';\n trainingStatus: TrainingStatus;\n reasons: Array<{\n __typename?: 'Reason';\n acceptanceMonit: boolean;\n canBeRecommended: boolean;\n hasNote: boolean;\n id: string;\n isNoteRequired: boolean;\n leaf: boolean;\n name: string;\n parentId?: string | null;\n position: number;\n reasonGroupId: string;\n statusColor: AndonLightColor;\n temporary: boolean;\n }>;\n } | null;\n};\n\nexport type ShiftsQueryVariables = Exact<{ [key: string]: never }>;\n\nexport type ShiftsQuery = {\n __typename?: 'Query';\n shifts: Array<{ __typename?: 'Shift'; finishedAt: string; id: string; name: string; startedAt: string }>;\n};\n\nexport type StaffingPlansQueryVariables = Exact<{\n filter?: InputMaybe<StaffingPlanFilter>;\n}>;\n\nexport type StaffingPlansQuery = {\n __typename?: 'Query';\n staffingPlans: Array<{\n __typename?: 'StaffingPlan';\n id: string;\n date: any;\n recommendedOperators: number;\n createdAt: any;\n updatedAt: any;\n workplace: {\n __typename?: 'Workplace';\n colorHex?: string | null;\n deactivated: boolean;\n departmentId?: string | null;\n dtrUrl?: string | null;\n id: string;\n minOperators: number;\n name: string;\n reasonGroupId: string;\n reasonsRecommendationsEnabled: boolean;\n currentStatusChange?: {\n __typename?: 'StatusChange';\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n reasonHasBeenRecommended: boolean;\n startedAt: string;\n workplaceId: string;\n author: { __typename?: 'User'; id: string; login: string; name: string };\n order?: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n items: Array<{\n __typename?: 'Item';\n count: number;\n id: string;\n order: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n workplaces: Array<{\n __typename?: 'Workplace';\n colorHex?: string | null;\n deactivated: boolean;\n departmentId?: string | null;\n dtrUrl?: string | null;\n id: string;\n minOperators: number;\n name: string;\n reasonGroupId: string;\n reasonsRecommendationsEnabled: boolean;\n currentStatusChange?: {\n __typename?: 'StatusChange';\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n reasonHasBeenRecommended: boolean;\n startedAt: string;\n workplaceId: string;\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n reason: {\n __typename?: 'Reason';\n acceptanceMonit: boolean;\n canBeRecommended: boolean;\n hasNote: boolean;\n id: string;\n isNoteRequired: boolean;\n leaf: boolean;\n name: string;\n parentId?: string | null;\n position: number;\n reasonGroupId: string;\n statusColor: AndonLightColor;\n temporary: boolean;\n };\n } | null;\n }>;\n };\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n }>;\n } | null;\n } | null;\n };\n shift: { __typename?: 'Shift'; finishedAt: string; id: string; name: string; startedAt: string };\n author: { __typename?: 'User'; id: string; login: string; name: string };\n }>;\n};\n\nexport type StandardRatesQueryVariables = Exact<{\n orderExecutionId: Scalars['ID']['input'];\n}>;\n\nexport type StandardRatesQuery = {\n __typename?: 'Query';\n standardRates: Array<{ __typename?: 'StandardRate'; id: string; label: string }>;\n};\n\nexport type StatusChangeTransitionPermissionsQueryVariables = Exact<{\n filter?: InputMaybe<StatusChangeTransitionPermissionFilter>;\n}>;\n\nexport type StatusChangeTransitionPermissionsQuery = {\n __typename?: 'Query';\n statusChangeTransitionPermissions: Array<{\n __typename?: 'StatusChangeTransitionPermission';\n fromReasonId: string;\n roleId: string;\n toReasonId: string;\n workplaceId: string;\n }>;\n};\n\nexport type StatusChangesQueryVariables = Exact<{\n filter?: InputMaybe<StatusChangeFilter>;\n}>;\n\nexport type StatusChangesQuery = {\n __typename?: 'Query';\n statusChanges: Array<{\n __typename?: 'StatusChange';\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n reasonHasBeenRecommended: boolean;\n startedAt: string;\n workplaceId: string;\n author: { __typename?: 'User'; id: string; login: string; name: string };\n order?: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n items: Array<{\n __typename?: 'Item';\n count: number;\n id: string;\n order: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n workplaces: Array<{\n __typename?: 'Workplace';\n colorHex?: string | null;\n deactivated: boolean;\n departmentId?: string | null;\n dtrUrl?: string | null;\n id: string;\n minOperators: number;\n name: string;\n reasonGroupId: string;\n reasonsRecommendationsEnabled: boolean;\n currentStatusChange?: {\n __typename?: 'StatusChange';\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n reasonHasBeenRecommended: boolean;\n startedAt: string;\n workplaceId: string;\n author: { __typename?: 'User'; id: string; login: string; name: string };\n order?: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n } | null;\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n reason: {\n __typename?: 'Reason';\n acceptanceMonit: boolean;\n canBeRecommended: boolean;\n hasNote: boolean;\n id: string;\n isNoteRequired: boolean;\n leaf: boolean;\n name: string;\n parentId?: string | null;\n position: number;\n reasonGroupId: string;\n statusColor: AndonLightColor;\n temporary: boolean;\n };\n } | null;\n }>;\n };\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n }>;\n } | null;\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n reason: {\n __typename?: 'Reason';\n acceptanceMonit: boolean;\n canBeRecommended: boolean;\n hasNote: boolean;\n id: string;\n isNoteRequired: boolean;\n leaf: boolean;\n name: string;\n parentId?: string | null;\n position: number;\n reasonGroupId: string;\n statusColor: AndonLightColor;\n temporary: boolean;\n };\n }>;\n};\n\nexport type StatusInsightsQueryVariables = Exact<{\n input: StatusInsightsInput;\n}>;\n\nexport type StatusInsightsQuery = {\n __typename?: 'Query';\n statusInsights: {\n __typename?: 'StatusInsightsResult';\n entries: Array<{\n __typename?: 'StatusInsightsEntry';\n averageDurationMinutes: number;\n label: string;\n occurrenceCount: number;\n }>;\n };\n};\n\nexport type UsersQueryVariables = Exact<{\n filter?: InputMaybe<UserFilter>;\n}>;\n\nexport type UsersQuery = {\n __typename?: 'Query';\n users: Array<{ __typename?: 'User'; id: string; login: string; name: string }>;\n};\n\nexport type UsersPresencesQueryVariables = Exact<{\n filter?: InputMaybe<UserPresenceFilter>;\n}>;\n\nexport type UsersPresencesQuery = {\n __typename?: 'Query';\n usersPresences: Array<{\n __typename?: 'UserPresence';\n finishedAt?: string | null;\n id: string;\n startedAt: string;\n workplaceId: string;\n author: { __typename?: 'User'; id: string; login: string; name: string };\n user: { __typename?: 'User'; id: string; login: string; name: string };\n }>;\n};\n\nexport type WidgetQueryVariables = Exact<{\n id: Scalars['ID']['input'];\n}>;\n\nexport type WidgetQuery = {\n __typename?: 'Query';\n widget: { __typename?: 'Widget'; config?: string | null; id: string };\n};\n\nexport type WidgetsQueryVariables = Exact<{\n filter?: InputMaybe<WidgetFilter>;\n}>;\n\nexport type WidgetsQuery = {\n __typename?: 'Query';\n widgets: Array<{ __typename?: 'Widget'; config?: string | null; id: string }>;\n};\n\nexport type WorkOrdersQueryVariables = Exact<{\n filter?: InputMaybe<WorkOrderFilter>;\n}>;\n\nexport type WorkOrdersQuery = {\n __typename?: 'Query';\n workOrders: Array<{\n __typename?: 'WorkOrder';\n closedAt?: string | null;\n createdAt: string;\n creationMethod: WorkOrderCreationMethodEnum;\n description?: string | null;\n dtrUrl?: string | null;\n dueAt?: string | null;\n id: string;\n name: string;\n note?: string | null;\n originalOccurrenceAt?: string | null;\n priority: WorkOrderPriorityEnum;\n procedureDescription?: string | null;\n procedureName?: string | null;\n procedureResponse: any;\n procedureTemplate: any;\n startAt?: string | null;\n status: WorkOrderStatusEnum;\n timeSpentHours?: number | null;\n timeSpentMinutes?: number | null;\n updatedAt: string;\n assignees: Array<{ __typename?: 'User'; id: string; login: string; name: string }>;\n category?: { __typename?: 'WorkOrderCategory'; description?: string | null; id: string; name: string } | null;\n workplaces: Array<{\n __typename?: 'Workplace';\n colorHex?: string | null;\n deactivated: boolean;\n departmentId?: string | null;\n dtrUrl?: string | null;\n id: string;\n minOperators: number;\n name: string;\n reasonGroupId: string;\n reasonsRecommendationsEnabled: boolean;\n currentStatusChange?: {\n __typename?: 'StatusChange';\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n reasonHasBeenRecommended: boolean;\n startedAt: string;\n workplaceId: string;\n author: { __typename?: 'User'; id: string; login: string; name: string };\n order?: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n items: Array<{\n __typename?: 'Item';\n count: number;\n id: string;\n order: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n workplaces: Array<{\n __typename?: 'Workplace';\n colorHex?: string | null;\n deactivated: boolean;\n departmentId?: string | null;\n dtrUrl?: string | null;\n id: string;\n minOperators: number;\n name: string;\n reasonGroupId: string;\n reasonsRecommendationsEnabled: boolean;\n }>;\n };\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n }>;\n } | null;\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n reason: {\n __typename?: 'Reason';\n acceptanceMonit: boolean;\n canBeRecommended: boolean;\n hasNote: boolean;\n id: string;\n isNoteRequired: boolean;\n leaf: boolean;\n name: string;\n parentId?: string | null;\n position: number;\n reasonGroupId: string;\n statusColor: AndonLightColor;\n temporary: boolean;\n };\n } | null;\n }>;\n }>;\n};\n\nexport type WorkOrdersInsightsQueryVariables = Exact<{\n input: WorkOrdersInsightsInput;\n}>;\n\nexport type WorkOrdersInsightsQuery = {\n __typename?: 'Query';\n workOrdersInsights: {\n __typename?: 'WorkOrdersInsightsResult';\n categories: Array<{\n __typename?: 'WorkOrdersInsightsCategoryEntry';\n categoryId: string;\n categoryName: string;\n totalCount: number;\n durations: Array<{\n __typename?: 'WorkOrdersInsightsDurationEntry';\n count: number;\n lowerBoundMinutes?: number | null;\n upperBoundMinutes?: number | null;\n }>;\n }>;\n };\n};\n\nexport type WorkplaceAssignmentsQueryVariables = Exact<{\n input: WorkplaceAssignmentsInput;\n}>;\n\nexport type WorkplaceAssignmentsQuery = {\n __typename?: 'Query';\n workplaceAssignments: {\n __typename?: 'WorkplaceAssignmentsView';\n summary: { __typename?: 'AssignmentSummary'; totalAssigned: number; totalCheckedIn: number; totalMissing: number };\n unassignedOperators: Array<{ __typename?: 'User'; id: string; login: string; name: string }>;\n workplaces: Array<{\n __typename?: 'WorkplaceWithAssignment';\n assignedCount: number;\n isOvercapacity: boolean;\n missingCount: number;\n recommendedOperators: number;\n assignedOperators: Array<{\n __typename?: 'AssignedOperator';\n presenceStatus: PresenceStatusEnum;\n user: { __typename?: 'User'; id: string; login: string; name: string };\n }>;\n unplannedOperators: Array<{\n __typename?: 'UnplannedOperator';\n plannedWorkplace?: {\n __typename?: 'Workplace';\n colorHex?: string | null;\n deactivated: boolean;\n departmentId?: string | null;\n dtrUrl?: string | null;\n id: string;\n minOperators: number;\n name: string;\n reasonGroupId: string;\n reasonsRecommendationsEnabled: boolean;\n currentStatusChange?: {\n __typename?: 'StatusChange';\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n reasonHasBeenRecommended: boolean;\n startedAt: string;\n workplaceId: string;\n author: { __typename?: 'User'; id: string; login: string; name: string };\n order?: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n items: Array<{\n __typename?: 'Item';\n count: number;\n id: string;\n order: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n workplaces: Array<{\n __typename?: 'Workplace';\n colorHex?: string | null;\n deactivated: boolean;\n departmentId?: string | null;\n dtrUrl?: string | null;\n id: string;\n minOperators: number;\n name: string;\n reasonGroupId: string;\n reasonsRecommendationsEnabled: boolean;\n currentStatusChange?: {\n __typename?: 'StatusChange';\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n reasonHasBeenRecommended: boolean;\n startedAt: string;\n workplaceId: string;\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n reason: {\n __typename?: 'Reason';\n acceptanceMonit: boolean;\n canBeRecommended: boolean;\n hasNote: boolean;\n id: string;\n isNoteRequired: boolean;\n leaf: boolean;\n name: string;\n parentId?: string | null;\n position: number;\n reasonGroupId: string;\n statusColor: AndonLightColor;\n temporary: boolean;\n };\n } | null;\n }>;\n };\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n }>;\n } | null;\n } | null;\n } | null;\n user: { __typename?: 'User'; id: string; login: string; name: string };\n }>;\n workplace: {\n __typename?: 'Workplace';\n colorHex?: string | null;\n deactivated: boolean;\n departmentId?: string | null;\n dtrUrl?: string | null;\n id: string;\n minOperators: number;\n name: string;\n reasonGroupId: string;\n reasonsRecommendationsEnabled: boolean;\n currentStatusChange?: {\n __typename?: 'StatusChange';\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n reasonHasBeenRecommended: boolean;\n startedAt: string;\n workplaceId: string;\n } | null;\n };\n }>;\n };\n};\n\nexport type WorkplacePerformanceInsightsQueryVariables = Exact<{\n input: WorkplacePerformanceInsightsInput;\n}>;\n\nexport type WorkplacePerformanceInsightsQuery = {\n __typename?: 'Query';\n workplacePerformanceInsights: {\n __typename?: 'WorkplacePerformanceInsightsResult';\n endDate: any;\n mtbf: string;\n mtbfSeconds?: number | null;\n mttr: string;\n mttrSeconds?: number | null;\n startDate: any;\n offScheduleDuration: string;\n offScheduleSeconds: number;\n totalDowntime: string;\n totalDowntimePercentage: number;\n totalDowntimeSeconds: number;\n totalDuration: string;\n totalSeconds: number;\n totalUptime: string;\n totalUptimePercentage: number;\n totalUptimeSeconds: number;\n workplaceId: string;\n workplaceName: string;\n reasons: Array<{\n __typename?: 'WorkplacePerformanceInsightsReason';\n availabilityStatus: AvailabilityStatus;\n averageDuration: string;\n averageDurationSeconds: number;\n maxDuration: string;\n maxDurationSeconds: number;\n occurrences: number;\n percentage: number;\n reasonColor: AndonLightColor;\n reasonId: string;\n reasonName: string;\n totalDuration: string;\n totalSeconds: number;\n statusChanges: Array<{\n __typename?: 'WorkplacePerformanceInsightsStatusChange';\n firstSegmentStart: any;\n id: string;\n lastSegmentEnd: any;\n note?: string | null;\n originalEnd?: any | null;\n originalStart: any;\n segments?: any | null;\n totalSegmentDuration: string;\n totalSegmentSeconds: number;\n uuid: string;\n }>;\n }>;\n };\n};\n\nexport type WorkplacesQueryVariables = Exact<{\n filter?: InputMaybe<WorkplaceFilter>;\n}>;\n\nexport type WorkplacesQuery = {\n __typename?: 'Query';\n workplaces: Array<{\n __typename?: 'Workplace';\n colorHex?: string | null;\n deactivated: boolean;\n departmentId?: string | null;\n dtrUrl?: string | null;\n id: string;\n minOperators: number;\n name: string;\n reasonGroupId: string;\n reasonsRecommendationsEnabled: boolean;\n currentStatusChange?: {\n __typename?: 'StatusChange';\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n reasonHasBeenRecommended: boolean;\n startedAt: string;\n workplaceId: string;\n author: { __typename?: 'User'; id: string; login: string; name: string };\n order?: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n items: Array<{\n __typename?: 'Item';\n count: number;\n id: string;\n order: {\n __typename?: 'Order';\n executedCount: number;\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n workplaces: Array<{\n __typename?: 'Workplace';\n colorHex?: string | null;\n deactivated: boolean;\n departmentId?: string | null;\n dtrUrl?: string | null;\n id: string;\n minOperators: number;\n name: string;\n reasonGroupId: string;\n reasonsRecommendationsEnabled: boolean;\n }>;\n };\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n }>;\n } | null;\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n reason: {\n __typename?: 'Reason';\n acceptanceMonit: boolean;\n canBeRecommended: boolean;\n hasNote: boolean;\n id: string;\n isNoteRequired: boolean;\n leaf: boolean;\n name: string;\n parentId?: string | null;\n position: number;\n reasonGroupId: string;\n statusColor: AndonLightColor;\n temporary: boolean;\n };\n } | null;\n }>;\n};\n\nexport type AssignOperatorMutationVariables = Exact<{\n input: AssignOperatorInput;\n}>;\n\nexport type AssignOperatorMutation = {\n __typename?: 'Mutation';\n assignOperatorToWorkplace: {\n __typename?: 'AssignOperatorToWorkplacePayload';\n errors?: Array<{ __typename?: 'MutationError'; field?: string | null; messages: Array<string> }> | null;\n assignment?: {\n __typename?: 'WorkplaceAssignment';\n id: string;\n validFrom: any;\n user: { __typename?: 'User'; id: string; name: string };\n workplace?: { __typename?: 'Workplace'; id: string; name: string } | null;\n shift: { __typename?: 'Shift'; id: string; name: string };\n } | null;\n };\n};\n\nexport type UnassignOperatorMutationVariables = Exact<{\n input: UnassignOperatorInput;\n}>;\n\nexport type UnassignOperatorMutation = {\n __typename?: 'Mutation';\n unassignOperatorFromWorkplace: {\n __typename?: 'UnassignOperatorFromWorkplacePayload';\n errors?: Array<{ __typename?: 'MutationError'; field?: string | null; messages: Array<string> }> | null;\n assignment?: {\n __typename?: 'WorkplaceAssignment';\n id: string;\n validFrom: any;\n user: { __typename?: 'User'; id: string; name: string };\n } | null;\n };\n};\n\nexport type GetWorkplacePerformanceInsightsQueryVariables = Exact<{\n input: WorkplacePerformanceInsightsInput;\n}>;\n\nexport type GetWorkplacePerformanceInsightsQuery = {\n __typename?: 'Query';\n workplacePerformanceInsights: {\n __typename?: 'WorkplacePerformanceInsightsResult';\n workplaceId: string;\n workplaceName: string;\n startDate: any;\n endDate: any;\n totalDuration: string;\n totalSeconds: number;\n totalUptime: string;\n totalUptimePercentage: number;\n totalDowntime: string;\n totalDowntimePercentage: number;\n mtbf: string;\n mttr: string;\n reasons: Array<{\n __typename?: 'WorkplacePerformanceInsightsReason';\n reasonId: string;\n reasonName: string;\n reasonColor: AndonLightColor;\n availabilityStatus: AvailabilityStatus;\n totalDuration: string;\n totalSeconds: number;\n percentage: number;\n occurrences: number;\n averageDuration: string;\n maxDuration: string;\n }>;\n };\n};\n\nexport type ListActualStaffingCountsQueryVariables = Exact<{\n filter?: InputMaybe<ActualStaffingCountFilter>;\n}>;\n\nexport type ListActualStaffingCountsQuery = {\n __typename?: 'Query';\n actualStaffingCounts: Array<{\n __typename?: 'ActualStaffingCount';\n date: any;\n actualOperators: number;\n plannedOperators?: number | null;\n hasDeviation: boolean;\n workplace: { __typename?: 'Workplace'; id: string; name: string };\n shift: { __typename?: 'Shift'; id: string; name: string };\n }>;\n};\n\nexport type ListStaffingPlansQueryVariables = Exact<{\n filter?: InputMaybe<StaffingPlanFilter>;\n}>;\n\nexport type ListStaffingPlansQuery = {\n __typename?: 'Query';\n staffingPlans: Array<{\n __typename?: 'StaffingPlan';\n id: string;\n date: any;\n recommendedOperators: number;\n workplace: { __typename?: 'Workplace'; id: string; name: string; colorHex?: string | null };\n shift: { __typename?: 'Shift'; id: string; name: string };\n }>;\n};\n\nexport type ListStatusChangesQueryVariables = Exact<{\n filter?: InputMaybe<StatusChangeFilter>;\n}>;\n\nexport type ListStatusChangesQuery = {\n __typename?: 'Query';\n statusChanges: Array<{\n __typename?: 'StatusChange';\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n reasonHasBeenRecommended: boolean;\n startedAt: string;\n workplaceId: string;\n author: { __typename?: 'User'; id: string; login: string; name: string };\n order?: {\n __typename?: 'Order';\n executedCount: number;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n finishedAt?: string | null;\n } | null;\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n reason: {\n __typename?: 'Reason';\n acceptanceMonit: boolean;\n canBeRecommended: boolean;\n hasNote: boolean;\n id: string;\n isNoteRequired: boolean;\n leaf: boolean;\n name: string;\n parentId?: string | null;\n position: number;\n reasonGroupId: string;\n statusColor: AndonLightColor;\n temporary: boolean;\n };\n }>;\n};\n\nexport type ListWorkOrdersQueryVariables = Exact<{\n filter?: InputMaybe<WorkOrderFilter>;\n}>;\n\nexport type ListWorkOrdersQuery = {\n __typename?: 'Query';\n workOrders: Array<{\n __typename?: 'WorkOrder';\n closedAt?: string | null;\n createdAt: string;\n creationMethod: WorkOrderCreationMethodEnum;\n description?: string | null;\n dtrUrl?: string | null;\n dueAt?: string | null;\n id: string;\n name: string;\n note?: string | null;\n originalOccurrenceAt?: string | null;\n priority: WorkOrderPriorityEnum;\n procedureDescription?: string | null;\n procedureName?: string | null;\n procedureResponse: any;\n procedureTemplate: any;\n startAt?: string | null;\n status: WorkOrderStatusEnum;\n timeSpentHours?: number | null;\n timeSpentMinutes?: number | null;\n updatedAt: string;\n assignees: Array<{ __typename?: 'User'; id: string; login: string; name: string }>;\n category?: { __typename?: 'WorkOrderCategory'; description?: string | null; id: string; name: string } | null;\n workplaces: Array<{ __typename?: 'Workplace'; id: string; name: string }>;\n }>;\n};\n\nexport type ListWorkplaceAssignmentsQueryVariables = Exact<{\n input: WorkplaceAssignmentsInput;\n}>;\n\nexport type ListWorkplaceAssignmentsQuery = {\n __typename?: 'Query';\n workplaceAssignments: {\n __typename?: 'WorkplaceAssignmentsView';\n workplaces: Array<{\n __typename?: 'WorkplaceWithAssignment';\n recommendedOperators: number;\n assignedCount: number;\n missingCount: number;\n isOvercapacity: boolean;\n workplace: { __typename?: 'Workplace'; id: string; name: string };\n assignedOperators: Array<{\n __typename?: 'AssignedOperator';\n presenceStatus: PresenceStatusEnum;\n user: { __typename?: 'User'; id: string; name: string };\n }>;\n unplannedOperators: Array<{\n __typename?: 'UnplannedOperator';\n user: { __typename?: 'User'; id: string; name: string };\n plannedWorkplace?: { __typename?: 'Workplace'; id: string; name: string } | null;\n }>;\n }>;\n unassignedOperators: Array<{ __typename?: 'User'; id: string; name: string }>;\n summary: { __typename?: 'AssignmentSummary'; totalAssigned: number; totalCheckedIn: number; totalMissing: number };\n };\n};\n\nexport type ListWorkplacesQueryVariables = Exact<{\n filter?: InputMaybe<WorkplaceFilter>;\n}>;\n\nexport type ListWorkplacesQuery = {\n __typename?: 'Query';\n workplaces: Array<{\n __typename?: 'Workplace';\n deactivated: boolean;\n departmentId?: string | null;\n id: string;\n minOperators: number;\n name: string;\n reasonGroupId: string;\n reasonsRecommendationsEnabled: boolean;\n }>;\n};\n\nexport type WorkplaceEventSubscriptionVariables = Exact<{\n id: Scalars['ID']['input'];\n}>;\n\nexport type WorkplaceEventSubscription = {\n __typename?: 'Subscription';\n workplaceEvent: {\n __typename?: 'WorkplaceEventSubscriptionPayload';\n event: WorkplaceEvent;\n subject?:\n | {\n __typename: 'Counter';\n directoryId?: string | null;\n hasNote: boolean;\n id: string;\n isDisabled: boolean;\n kind: CounterKindEnum;\n name: string;\n value: number;\n workplaceId: string;\n counterPosition: number;\n }\n | { __typename: 'Item'; count: number; id: string }\n | {\n __typename: 'MetricValue';\n active: boolean;\n id: string;\n metricId: string;\n statusColor: AndonLightColor;\n textValue?: string | null;\n timer?: number | null;\n type: MetricTypeEnum;\n unit?: MetricUnitEnum | null;\n workplaceId: string;\n }\n | {\n __typename: 'Notification';\n channel?: string | null;\n details?: string | null;\n emitterId: string;\n emitterType: string;\n id: string;\n message: string;\n receiverId: string;\n receiverType: string;\n status?: string | null;\n }\n | {\n __typename: 'Order';\n executedCount: number;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n orderStartedAt?: string | null;\n orderFinishedAt?: string | null;\n items: Array<{ __typename?: 'Item'; count: number; id: string }>;\n workplaces: Array<{\n __typename?: 'Workplace';\n deactivated: boolean;\n departmentId?: string | null;\n id: string;\n minOperators: number;\n name: string;\n reasonGroupId: string;\n reasonsRecommendationsEnabled: boolean;\n }>;\n }\n | {\n __typename: 'OrderExecution';\n finishedAt?: string | null;\n id: string;\n itemCount?: number | null;\n note?: string | null;\n standardRateMismatched: boolean;\n startedAt: string;\n workplaceId: string;\n item?: {\n __typename?: 'Item';\n count: number;\n id: string;\n order: {\n __typename?: 'Order';\n executedCount: number;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n finishedAt?: string | null;\n };\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n } | null;\n }\n | { __typename: 'Shift'; id: string; name: string; shiftFinishedAt: string; shiftStartedAt: string }\n | {\n __typename: 'StatusChange';\n finishedAt?: string | null;\n id: string;\n note?: string | null;\n reasonHasBeenRecommended: boolean;\n startedAt: string;\n workplaceId: string;\n author: { __typename?: 'User'; id: string; login: string; name: string };\n order?: {\n __typename?: 'Order';\n executedCount: number;\n id: string;\n note?: string | null;\n number: string;\n plannedCount: number;\n position?: number | null;\n startedAt?: string | null;\n finishedAt?: string | null;\n } | null;\n product?: {\n __typename?: 'Product';\n assemblyManual?: string | null;\n id: string;\n name?: string | null;\n number?: string | null;\n } | null;\n reason: {\n __typename?: 'Reason';\n acceptanceMonit: boolean;\n canBeRecommended: boolean;\n hasNote: boolean;\n id: string;\n isNoteRequired: boolean;\n leaf: boolean;\n name: string;\n parentId?: string | null;\n position: number;\n reasonGroupId: string;\n statusColor: AndonLightColor;\n temporary: boolean;\n };\n }\n | {\n __typename: 'UserPresence';\n finishedAt?: string | null;\n id: string;\n startedAt: string;\n workplaceId: string;\n user: { __typename?: 'User'; id: string; login: string; name: string };\n }\n | null;\n };\n};\n\nexport const AssignOperatorToWorkplaceDocument = gql`\n mutation assignOperatorToWorkplace($input: AssignOperatorInput!) {\n assignOperatorToWorkplace(input: $input) {\n assignment {\n createdAt\n id\n shift {\n finishedAt\n id\n name\n startedAt\n }\n user {\n id\n login\n name\n }\n validFrom\n workplace {\n colorHex\n currentStatusChange {\n author {\n id\n login\n name\n }\n finishedAt\n id\n note\n order {\n executedCount\n finishedAt\n id\n items {\n count\n id\n order {\n executedCount\n finishedAt\n id\n note\n number\n plannedCount\n position\n startedAt\n workplaces {\n colorHex\n currentStatusChange {\n finishedAt\n id\n note\n product {\n assemblyManual\n id\n name\n number\n }\n reason {\n acceptanceMonit\n canBeRecommended\n hasNote\n id\n isNoteRequired\n leaf\n name\n parentId\n position\n reasonGroupId\n statusColor\n temporary\n }\n reasonHasBeenRecommended\n startedAt\n workplaceId\n }\n deactivated\n departmentId\n dtrUrl\n id\n minOperators\n name\n reasonGroupId\n reasonsRecommendationsEnabled\n }\n }\n product {\n assemblyManual\n id\n name\n number\n }\n }\n note\n number\n plannedCount\n position\n startedAt\n }\n reasonHasBeenRecommended\n startedAt\n workplaceId\n }\n deactivated\n departmentId\n dtrUrl\n id\n minOperators\n name\n reasonGroupId\n reasonsRecommendationsEnabled\n }\n }\n errors {\n field\n messages\n }\n }\n }\n`;\nexport const BulkUpsertStaffingPlansDocument = gql`\n mutation bulkUpsertStaffingPlans($input: BulkStaffingPlanInput!) {\n bulkUpsertStaffingPlans(input: $input) {\n errors {\n field\n messages\n }\n staffingPlans {\n id\n workplace {\n colorHex\n currentStatusChange {\n author {\n id\n login\n name\n }\n finishedAt\n id\n note\n order {\n executedCount\n finishedAt\n id\n items {\n count\n id\n order {\n executedCount\n finishedAt\n id\n note\n number\n plannedCount\n position\n startedAt\n workplaces {\n colorHex\n currentStatusChange {\n finishedAt\n id\n note\n product {\n assemblyManual\n id\n name\n number\n }\n reason {\n acceptanceMonit\n canBeRecommended\n hasNote\n id\n isNoteRequired\n leaf\n name\n parentId\n position\n reasonGroupId\n statusColor\n temporary\n }\n reasonHasBeenRecommended\n startedAt\n workplaceId\n }\n deactivated\n departmentId\n dtrUrl\n id\n minOperators\n name\n reasonGroupId\n reasonsRecommendationsEnabled\n }\n }\n product {\n assemblyManual\n id\n name\n number\n }\n }\n note\n number\n plannedCount\n position\n startedAt\n }\n reasonHasBeenRecommended\n startedAt\n workplaceId\n }\n deactivated\n departmentId\n dtrUrl\n id\n minOperators\n name\n reasonGroupId\n reasonsRecommendationsEnabled\n }\n date\n shift {\n finishedAt\n id\n name\n startedAt\n }\n recommendedOperators\n createdAt\n updatedAt\n author {\n id\n login\n name\n }\n }\n }\n }\n`;\nexport const CreateDashboardDocument = gql`\n mutation createDashboard($filters: String, $gridLayout: String, $id: ID!, $name: String!) {\n createDashboard(filters: $filters, gridLayout: $gridLayout, id: $id, name: $name) {\n dashboard {\n filters\n gridLayout\n id\n name\n }\n errors {\n field\n messages\n }\n }\n }\n`;\nexport const CreateOrderDocument = gql`\n mutation createOrder($id: ID!, $number: String!) {\n createOrder(id: $id, number: $number) {\n errors {\n field\n messages\n }\n order {\n executedCount\n finishedAt\n id\n items {\n count\n id\n order {\n executedCount\n finishedAt\n id\n note\n number\n plannedCount\n position\n startedAt\n workplaces {\n colorHex\n currentStatusChange {\n author {\n id\n login\n name\n }\n finishedAt\n id\n note\n order {\n executedCount\n finishedAt\n id\n note\n number\n plannedCount\n position\n startedAt\n }\n product {\n assemblyManual\n id\n name\n number\n }\n reason {\n acceptanceMonit\n canBeRecommended\n hasNote\n id\n isNoteRequired\n leaf\n name\n parentId\n position\n reasonGroupId\n statusColor\n temporary\n }\n reasonHasBeenRecommended\n startedAt\n workplaceId\n }\n deactivated\n departmentId\n dtrUrl\n id\n minOperators\n name\n reasonGroupId\n reasonsRecommendationsEnabled\n }\n }\n product {\n assemblyManual\n id\n name\n number\n }\n }\n note\n number\n plannedCount\n position\n startedAt\n }\n }\n }\n`;\nexport const CreateProductDocument = gql`\n mutation createProduct($id: ID!, $name: String, $number: String!) {\n createProduct(id: $id, name: $name, number: $number) {\n errors {\n field\n messages\n }\n product {\n assemblyManual\n id\n name\n number\n }\n }\n }\n`;\nexport const CreateStaffingPlanDocument = gql`\n mutation createStaffingPlan($input: StaffingPlanInput!) {\n createStaffingPlan(input: $input) {\n errors {\n field\n messages\n }\n staffingPlan {\n id\n workplace {\n colorHex\n currentStatusChange {\n author {\n id\n login\n name\n }\n finishedAt\n id\n note\n order {\n executedCount\n finishedAt\n id\n items {\n count\n id\n order {\n executedCount\n finishedAt\n id\n note\n number\n plannedCount\n position\n startedAt\n workplaces {\n colorHex\n currentStatusChange {\n finishedAt\n id\n note\n product {\n assemblyManual\n id\n name\n number\n }\n reason {\n acceptanceMonit\n canBeRecommended\n hasNote\n id\n isNoteRequired\n leaf\n name\n parentId\n position\n reasonGroupId\n statusColor\n temporary\n }\n reasonHasBeenRecommended\n startedAt\n workplaceId\n }\n deactivated\n departmentId\n dtrUrl\n id\n minOperators\n name\n reasonGroupId\n reasonsRecommendationsEnabled\n }\n }\n product {\n assemblyManual\n id\n name\n number\n }\n }\n note\n number\n plannedCount\n position\n startedAt\n }\n reasonHasBeenRecommended\n startedAt\n workplaceId\n }\n deactivated\n departmentId\n dtrUrl\n id\n minOperators\n name\n reasonGroupId\n reasonsRecommendationsEnabled\n }\n date\n shift {\n finishedAt\n id\n name\n startedAt\n }\n recommendedOperators\n createdAt\n updatedAt\n author {\n id\n login\n name\n }\n }\n }\n }\n`;\nexport const CreateStatusChangeDocument = gql`\n mutation createStatusChange(\n $id: ID!\n $note: String\n $reasonHasBeenRecommended: Boolean\n $reasonId: ID!\n $startedAt: String\n $userId: ID\n $workplaceId: ID!\n ) {\n createStatusChange(\n id: $id\n note: $note\n reasonHasBeenRecommended: $reasonHasBeenRecommended\n reasonId: $reasonId\n startedAt: $startedAt\n userId: $userId\n workplaceId: $workplaceId\n ) {\n errors {\n field\n messages\n }\n statusChange {\n author {\n id\n login\n name\n }\n finishedAt\n id\n note\n order {\n executedCount\n finishedAt\n id\n items {\n count\n id\n order {\n executedCount\n finishedAt\n id\n note\n number\n plannedCount\n position\n startedAt\n workplaces {\n colorHex\n currentStatusChange {\n author {\n id\n login\n name\n }\n finishedAt\n id\n note\n order {\n executedCount\n finishedAt\n id\n note\n number\n plannedCount\n position\n startedAt\n }\n product {\n assemblyManual\n id\n name\n number\n }\n reason {\n acceptanceMonit\n canBeRecommended\n hasNote\n id\n isNoteRequired\n leaf\n name\n parentId\n position\n reasonGroupId\n statusColor\n temporary\n }\n reasonHasBeenRecommended\n startedAt\n workplaceId\n }\n deactivated\n departmentId\n dtrUrl\n id\n minOperators\n name\n reasonGroupId\n reasonsRecommendationsEnabled\n }\n }\n product {\n assemblyManual\n id\n name\n number\n }\n }\n note\n number\n plannedCount\n position\n startedAt\n }\n product {\n assemblyManual\n id\n name\n number\n }\n reason {\n acceptanceMonit\n canBeRecommended\n hasNote\n id\n isNoteRequired\n leaf\n name\n parentId\n position\n reasonGroupId\n statusColor\n temporary\n }\n reasonHasBeenRecommended\n startedAt\n workplaceId\n }\n }\n }\n`;\nexport const CreateUserPresenceDocument = gql`\n mutation createUserPresence($id: ID!, $userToken: String!, $workplaceId: ID!) {\n createUserPresence(id: $id, userToken: $userToken, workplaceId: $workplaceId) {\n errors {\n field\n messages\n }\n userPresence {\n author {\n id\n login\n name\n }\n finishedAt\n id\n startedAt\n user {\n id\n login\n name\n }\n workplaceId\n }\n }\n }\n`;\nexport const CreateWidgetDocument = gql`\n mutation createWidget($config: String, $id: ID!) {\n createWidget(config: $config, id: $id) {\n errors {\n field\n messages\n }\n widget {\n config\n id\n }\n }\n }\n`;\nexport const PauseOrderExecutionDocument = gql`\n mutation pauseOrderExecution($id: ID!, $statusChangeId: ID!) {\n pauseOrderExecution(id: $id, statusChangeId: $statusChangeId) {\n errors {\n field\n messages\n }\n orderExecution {\n finishedAt\n id\n item {\n count\n id\n order {\n executedCount\n finishedAt\n id\n items {\n count\n id\n order {\n executedCount\n finishedAt\n id\n note\n number\n plannedCount\n position\n startedAt\n workplaces {\n colorHex\n currentStatusChange {\n author {\n id\n login\n name\n }\n finishedAt\n id\n note\n order {\n executedCount\n finishedAt\n id\n note\n number\n plannedCount\n position\n startedAt\n }\n product {\n assemblyManual\n id\n name\n number\n }\n reason {\n acceptanceMonit\n canBeRecommended\n hasNote\n id\n isNoteRequired\n leaf\n name\n parentId\n position\n reasonGroupId\n statusColor\n temporary\n }\n reasonHasBeenRecommended\n startedAt\n workplaceId\n }\n deactivated\n departmentId\n dtrUrl\n id\n minOperators\n name\n reasonGroupId\n reasonsRecommendationsEnabled\n }\n }\n product {\n assemblyManual\n id\n name\n number\n }\n }\n note\n number\n plannedCount\n position\n startedAt\n }\n product {\n assemblyManual\n id\n name\n number\n }\n }\n itemCount\n note\n order {\n executedCount\n finishedAt\n id\n note\n number\n plannedCount\n position\n startedAt\n }\n product {\n assemblyManual\n id\n name\n number\n }\n standardRateMismatched\n startedAt\n workplaceId\n }\n }\n }\n`;\nexport const RemoveDashboardDocument = gql`\n mutation removeDashboard($id: ID!) {\n removeDashboard(id: $id) {\n errors {\n field\n messages\n }\n }\n }\n`;\nexport const RemoveStaffingPlanDocument = gql`\n mutation removeStaffingPlan($id: ID!) {\n removeStaffingPlan(id: $id) {\n errors {\n field\n messages\n }\n }\n }\n`;\nexport const RemoveUserPresenceDocument = gql`\n mutation removeUserPresence($id: ID!) {\n removeUserPresence(id: $id) {\n errors {\n field\n messages\n }\n }\n }\n`;\nexport const RemoveWidgetDocument = gql`\n mutation removeWidget($id: ID!) {\n removeWidget(id: $id) {\n errors {\n field\n messages\n }\n }\n }\n`;\nexport const RemoveWorkplaceUsersPresencesDocument = gql`\n mutation removeWorkplaceUsersPresences($workplaceId: ID!) {\n removeWorkplaceUsersPresences(workplaceId: $workplaceId) {\n errors {\n field\n messages\n }\n }\n }\n`;\nexport const RequestFeatureAccessDocument = gql`\n mutation requestFeatureAccess($input: RequestFeatureAccessInput!) {\n requestFeatureAccess(input: $input) {\n errors {\n field\n messages\n }\n success\n }\n }\n`;\nexport const SetCounterDocument = gql`\n mutation setCounter($id: ID!, $note: String, $orderExecutionId: ID, $value: Float!) {\n setCounter(id: $id, note: $note, orderExecutionId: $orderExecutionId, value: $value) {\n counter {\n directoryId\n hasNote\n id\n isDisabled\n kind\n name\n position\n value\n workplaceId\n }\n errors {\n field\n messages\n }\n }\n }\n`;\nexport const StartOrderExecutionDocument = gql`\n mutation startOrderExecution(\n $id: ID!\n $itemCount: Float\n $order: OrderInput!\n $product: ProductInput\n $statusChangeId: ID!\n $workplaceId: ID!\n ) {\n startOrderExecution(\n id: $id\n itemCount: $itemCount\n order: $order\n product: $product\n statusChangeId: $statusChangeId\n workplaceId: $workplaceId\n ) {\n errors {\n field\n messages\n }\n orderExecution {\n finishedAt\n id\n item {\n count\n id\n order {\n executedCount\n finishedAt\n id\n items {\n count\n id\n order {\n executedCount\n finishedAt\n id\n note\n number\n plannedCount\n position\n startedAt\n workplaces {\n colorHex\n currentStatusChange {\n author {\n id\n login\n name\n }\n finishedAt\n id\n note\n order {\n executedCount\n finishedAt\n id\n note\n number\n plannedCount\n position\n startedAt\n }\n product {\n assemblyManual\n id\n name\n number\n }\n reason {\n acceptanceMonit\n canBeRecommended\n hasNote\n id\n isNoteRequired\n leaf\n name\n parentId\n position\n reasonGroupId\n statusColor\n temporary\n }\n reasonHasBeenRecommended\n startedAt\n workplaceId\n }\n deactivated\n departmentId\n dtrUrl\n id\n minOperators\n name\n reasonGroupId\n reasonsRecommendationsEnabled\n }\n }\n product {\n assemblyManual\n id\n name\n number\n }\n }\n note\n number\n plannedCount\n position\n startedAt\n }\n product {\n assemblyManual\n id\n name\n number\n }\n }\n itemCount\n note\n order {\n executedCount\n finishedAt\n id\n note\n number\n plannedCount\n position\n startedAt\n }\n product {\n assemblyManual\n id\n name\n number\n }\n standardRateMismatched\n startedAt\n workplaceId\n }\n }\n }\n`;\nexport const StartTrialDocument = gql`\n mutation startTrial($input: StartTrialInput!) {\n startTrial(input: $input) {\n errors {\n field\n messages\n }\n success\n }\n }\n`;\nexport const StopOrderExecutionDocument = gql`\n mutation stopOrderExecution($id: ID!, $statusChangeId: ID!) {\n stopOrderExecution(id: $id, statusChangeId: $statusChangeId) {\n errors {\n field\n messages\n }\n orderExecution {\n finishedAt\n id\n item {\n count\n id\n order {\n executedCount\n finishedAt\n id\n items {\n count\n id\n order {\n executedCount\n finishedAt\n id\n note\n number\n plannedCount\n position\n startedAt\n workplaces {\n colorHex\n currentStatusChange {\n author {\n id\n login\n name\n }\n finishedAt\n id\n note\n order {\n executedCount\n finishedAt\n id\n note\n number\n plannedCount\n position\n startedAt\n }\n product {\n assemblyManual\n id\n name\n number\n }\n reason {\n acceptanceMonit\n canBeRecommended\n hasNote\n id\n isNoteRequired\n leaf\n name\n parentId\n position\n reasonGroupId\n statusColor\n temporary\n }\n reasonHasBeenRecommended\n startedAt\n workplaceId\n }\n deactivated\n departmentId\n dtrUrl\n id\n minOperators\n name\n reasonGroupId\n reasonsRecommendationsEnabled\n }\n }\n product {\n assemblyManual\n id\n name\n number\n }\n }\n note\n number\n plannedCount\n position\n startedAt\n }\n product {\n assemblyManual\n id\n name\n number\n }\n }\n itemCount\n note\n order {\n executedCount\n finishedAt\n id\n note\n number\n plannedCount\n position\n startedAt\n }\n product {\n assemblyManual\n id\n name\n number\n }\n standardRateMismatched\n startedAt\n workplaceId\n }\n }\n }\n`;\nexport const UnassignOperatorFromWorkplaceDocument = gql`\n mutation unassignOperatorFromWorkplace($input: UnassignOperatorInput!) {\n unassignOperatorFromWorkplace(input: $input) {\n assignment {\n createdAt\n id\n shift {\n finishedAt\n id\n name\n startedAt\n }\n user {\n id\n login\n name\n }\n validFrom\n workplace {\n colorHex\n currentStatusChange {\n author {\n id\n login\n name\n }\n finishedAt\n id\n note\n order {\n executedCount\n finishedAt\n id\n items {\n count\n id\n order {\n executedCount\n finishedAt\n id\n note\n number\n plannedCount\n position\n startedAt\n workplaces {\n colorHex\n currentStatusChange {\n finishedAt\n id\n note\n product {\n assemblyManual\n id\n name\n number\n }\n reason {\n acceptanceMonit\n canBeRecommended\n hasNote\n id\n isNoteRequired\n leaf\n name\n parentId\n position\n reasonGroupId\n statusColor\n temporary\n }\n reasonHasBeenRecommended\n startedAt\n workplaceId\n }\n deactivated\n departmentId\n dtrUrl\n id\n minOperators\n name\n reasonGroupId\n reasonsRecommendationsEnabled\n }\n }\n product {\n assemblyManual\n id\n name\n number\n }\n }\n note\n number\n plannedCount\n position\n startedAt\n }\n reasonHasBeenRecommended\n startedAt\n workplaceId\n }\n deactivated\n departmentId\n dtrUrl\n id\n minOperators\n name\n reasonGroupId\n reasonsRecommendationsEnabled\n }\n }\n errors {\n field\n messages\n }\n }\n }\n`;\nexport const UpdateDashboardDocument = gql`\n mutation updateDashboard($filters: String, $gridLayout: String!, $id: ID!, $name: String) {\n updateDashboard(filters: $filters, gridLayout: $gridLayout, id: $id, name: $name) {\n dashboard {\n filters\n gridLayout\n id\n name\n }\n errors {\n field\n messages\n }\n }\n }\n`;\nexport const UpdateNotificationDocument = gql`\n mutation updateNotification($id: ID!, $status: String!) {\n updateNotification(id: $id, status: $status) {\n errors {\n field\n messages\n }\n notification {\n channel\n details\n emitterId\n emitterType\n id\n message\n receiverId\n receiverType\n status\n }\n }\n }\n`;\nexport const UpdateOrderDocument = gql`\n mutation updateOrder($input: UpdateOrderInput!) {\n updateOrder(input: $input) {\n errors {\n field\n messages\n }\n order {\n executedCount\n finishedAt\n id\n items {\n count\n id\n order {\n executedCount\n finishedAt\n id\n note\n number\n plannedCount\n position\n startedAt\n workplaces {\n colorHex\n currentStatusChange {\n author {\n id\n login\n name\n }\n finishedAt\n id\n note\n order {\n executedCount\n finishedAt\n id\n note\n number\n plannedCount\n position\n startedAt\n }\n product {\n assemblyManual\n id\n name\n number\n }\n reason {\n acceptanceMonit\n canBeRecommended\n hasNote\n id\n isNoteRequired\n leaf\n name\n parentId\n position\n reasonGroupId\n statusColor\n temporary\n }\n reasonHasBeenRecommended\n startedAt\n workplaceId\n }\n deactivated\n departmentId\n dtrUrl\n id\n minOperators\n name\n reasonGroupId\n reasonsRecommendationsEnabled\n }\n }\n product {\n assemblyManual\n id\n name\n number\n }\n }\n note\n number\n plannedCount\n position\n startedAt\n }\n }\n }\n`;\nexport const UpdateOrderExecutionDocument = gql`\n mutation updateOrderExecution($id: ID!, $standardRateId: ID!) {\n updateOrderExecution(id: $id, standardRateId: $standardRateId) {\n errors {\n field\n messages\n }\n orderExecution {\n finishedAt\n id\n item {\n count\n id\n order {\n executedCount\n finishedAt\n id\n items {\n count\n id\n order {\n executedCount\n finishedAt\n id\n note\n number\n plannedCount\n position\n startedAt\n workplaces {\n colorHex\n currentStatusChange {\n author {\n id\n login\n name\n }\n finishedAt\n id\n note\n order {\n executedCount\n finishedAt\n id\n note\n number\n plannedCount\n position\n startedAt\n }\n product {\n assemblyManual\n id\n name\n number\n }\n reason {\n acceptanceMonit\n canBeRecommended\n hasNote\n id\n isNoteRequired\n leaf\n name\n parentId\n position\n reasonGroupId\n statusColor\n temporary\n }\n reasonHasBeenRecommended\n startedAt\n workplaceId\n }\n deactivated\n departmentId\n dtrUrl\n id\n minOperators\n name\n reasonGroupId\n reasonsRecommendationsEnabled\n }\n }\n product {\n assemblyManual\n id\n name\n number\n }\n }\n note\n number\n plannedCount\n position\n startedAt\n }\n product {\n assemblyManual\n id\n name\n number\n }\n }\n itemCount\n note\n order {\n executedCount\n finishedAt\n id\n note\n number\n plannedCount\n position\n startedAt\n }\n product {\n assemblyManual\n id\n name\n number\n }\n standardRateMismatched\n startedAt\n workplaceId\n }\n }\n }\n`;\nexport const UpdateStaffingPlanDocument = gql`\n mutation updateStaffingPlan($input: StaffingPlanUpdateInput!) {\n updateStaffingPlan(input: $input) {\n errors {\n field\n messages\n }\n staffingPlan {\n id\n workplace {\n colorHex\n currentStatusChange {\n author {\n id\n login\n name\n }\n finishedAt\n id\n note\n order {\n executedCount\n finishedAt\n id\n items {\n count\n id\n order {\n executedCount\n finishedAt\n id\n note\n number\n plannedCount\n position\n startedAt\n workplaces {\n colorHex\n currentStatusChange {\n finishedAt\n id\n note\n product {\n assemblyManual\n id\n name\n number\n }\n reason {\n acceptanceMonit\n canBeRecommended\n hasNote\n id\n isNoteRequired\n leaf\n name\n parentId\n position\n reasonGroupId\n statusColor\n temporary\n }\n reasonHasBeenRecommended\n startedAt\n workplaceId\n }\n deactivated\n departmentId\n dtrUrl\n id\n minOperators\n name\n reasonGroupId\n reasonsRecommendationsEnabled\n }\n }\n product {\n assemblyManual\n id\n name\n number\n }\n }\n note\n number\n plannedCount\n position\n startedAt\n }\n reasonHasBeenRecommended\n startedAt\n workplaceId\n }\n deactivated\n departmentId\n dtrUrl\n id\n minOperators\n name\n reasonGroupId\n reasonsRecommendationsEnabled\n }\n date\n shift {\n finishedAt\n id\n name\n startedAt\n }\n recommendedOperators\n createdAt\n updatedAt\n author {\n id\n login\n name\n }\n }\n }\n }\n`;\nexport const UpdateStatusChangeDocument = gql`\n mutation updateStatusChange($input: UpdateStatusChangeInput!) {\n updateStatusChange(input: $input) {\n errors {\n field\n messages\n }\n statusChange {\n author {\n id\n login\n name\n }\n finishedAt\n id\n note\n order {\n executedCount\n finishedAt\n id\n items {\n count\n id\n order {\n executedCount\n finishedAt\n id\n note\n number\n plannedCount\n position\n startedAt\n workplaces {\n colorHex\n currentStatusChange {\n author {\n id\n login\n name\n }\n finishedAt\n id\n note\n order {\n executedCount\n finishedAt\n id\n note\n number\n plannedCount\n position\n startedAt\n }\n product {\n assemblyManual\n id\n name\n number\n }\n reason {\n acceptanceMonit\n canBeRecommended\n hasNote\n id\n isNoteRequired\n leaf\n name\n parentId\n position\n reasonGroupId\n statusColor\n temporary\n }\n reasonHasBeenRecommended\n startedAt\n workplaceId\n }\n deactivated\n departmentId\n dtrUrl\n id\n minOperators\n name\n reasonGroupId\n reasonsRecommendationsEnabled\n }\n }\n product {\n assemblyManual\n id\n name\n number\n }\n }\n note\n number\n plannedCount\n position\n startedAt\n }\n product {\n assemblyManual\n id\n name\n number\n }\n reason {\n acceptanceMonit\n canBeRecommended\n hasNote\n id\n isNoteRequired\n leaf\n name\n parentId\n position\n reasonGroupId\n statusColor\n temporary\n }\n reasonHasBeenRecommended\n startedAt\n workplaceId\n }\n }\n }\n`;\nexport const UpdateWidgetDocument = gql`\n mutation updateWidget($config: String!, $id: ID!) {\n updateWidget(config: $config, id: $id) {\n errors {\n field\n messages\n }\n widget {\n config\n id\n }\n }\n }\n`;\nexport const UpdateWorkOrderDocument = gql`\n mutation updateWorkOrder($id: ID!, $input: UpdateWorkOrderInput!) {\n updateWorkOrder(id: $id, input: $input) {\n errors {\n field\n messages\n }\n workOrder {\n assignees {\n id\n login\n name\n }\n category {\n description\n id\n name\n }\n closedAt\n createdAt\n creationMethod\n description\n dtrUrl\n dueAt\n id\n name\n note\n originalOccurrenceAt\n priority\n procedureDescription\n procedureName\n procedureResponse\n procedureTemplate\n startAt\n status\n timeSpentHours\n timeSpentMinutes\n updatedAt\n workplaces {\n colorHex\n currentStatusChange {\n author {\n id\n login\n name\n }\n finishedAt\n id\n note\n order {\n executedCount\n finishedAt\n id\n items {\n count\n id\n order {\n executedCount\n finishedAt\n id\n note\n number\n plannedCount\n position\n startedAt\n workplaces {\n colorHex\n deactivated\n departmentId\n dtrUrl\n id\n minOperators\n name\n reasonGroupId\n reasonsRecommendationsEnabled\n }\n }\n product {\n assemblyManual\n id\n name\n number\n }\n }\n note\n number\n plannedCount\n position\n startedAt\n }\n product {\n assemblyManual\n id\n name\n number\n }\n reason {\n acceptanceMonit\n canBeRecommended\n hasNote\n id\n isNoteRequired\n leaf\n name\n parentId\n position\n reasonGroupId\n statusColor\n temporary\n }\n reasonHasBeenRecommended\n startedAt\n workplaceId\n }\n deactivated\n departmentId\n dtrUrl\n id\n minOperators\n name\n reasonGroupId\n reasonsRecommendationsEnabled\n }\n }\n }\n }\n`;\nexport const ActualStaffingCountsDocument = gql`\n query actualStaffingCounts($filter: ActualStaffingCountFilter) {\n actualStaffingCounts(filter: $filter) {\n workplace {\n colorHex\n currentStatusChange {\n author {\n id\n login\n name\n }\n finishedAt\n id\n note\n order {\n executedCount\n finishedAt\n id\n items {\n count\n id\n order {\n executedCount\n finishedAt\n id\n note\n number\n plannedCount\n position\n startedAt\n workplaces {\n colorHex\n currentStatusChange {\n finishedAt\n id\n note\n product {\n assemblyManual\n id\n name\n number\n }\n reason {\n acceptanceMonit\n canBeRecommended\n hasNote\n id\n isNoteRequired\n leaf\n name\n parentId\n position\n reasonGroupId\n statusColor\n temporary\n }\n reasonHasBeenRecommended\n startedAt\n workplaceId\n }\n deactivated\n departmentId\n dtrUrl\n id\n minOperators\n name\n reasonGroupId\n reasonsRecommendationsEnabled\n }\n }\n product {\n assemblyManual\n id\n name\n number\n }\n }\n note\n number\n plannedCount\n position\n startedAt\n }\n reasonHasBeenRecommended\n startedAt\n workplaceId\n }\n deactivated\n departmentId\n dtrUrl\n id\n minOperators\n name\n reasonGroupId\n reasonsRecommendationsEnabled\n }\n date\n shift {\n finishedAt\n id\n name\n startedAt\n }\n actualOperators\n plannedOperators\n hasDeviation\n }\n }\n`;\nexport const ApplicationInfoDocument = gql`\n query applicationInfo {\n applicationInfo {\n apiVersion\n }\n }\n`;\nexport const AvailabilityInsightsDocument = gql`\n query availabilityInsights($input: AvailabilityInsightsInput!) {\n availabilityInsights(input: $input) {\n entries {\n availability\n label\n noData\n }\n }\n }\n`;\nexport const CompanyConfigDocument = gql`\n query companyConfig {\n companyConfig {\n devicesConfigs {\n defaultWorkplaceId\n deviceId\n name\n }\n displayedKpiItems\n reasonsRecommendationsEnabled\n roleConfig {\n historyVisibilityEnabled\n orderCreationAllowed\n }\n statusChangeTransitionPermissionsUpdatedAt\n workplacesConfigs {\n defaultScreen\n menuDisplayItems\n orderConfig {\n alternativeName\n numberPrefix\n numberRegexp\n }\n orderExecutionConfig {\n afterPauseReasonId\n afterStartReasonId\n afterStopReasonId\n featureEnabled\n formOrderFields\n formProductFields\n formQuantityFields\n itemCountUnit\n noPlanCanCreateOrderNote\n noPlanNeedVerificationNote\n orderInternalNoteText\n orderInternalNoteTitle\n productInternalNoteText\n productInternalNoteTitle\n quantityInternalNoteText\n quantityInternalNoteTitle\n stopEnabled\n }\n productConfig {\n alternativeName\n numberPrefix\n numberRegexp\n }\n productionMode\n screenSaverConfig {\n autoSignOut\n displayAfterIdle\n displayAfterOrderCreated\n displayAfterStatusChangeCreated\n enabled\n idleTime\n }\n statusScreenDisplayBlocks\n workplaceId\n }\n }\n }\n`;\nexport const CounterDirectoriesDocument = gql`\n query counterDirectories($filter: CounterDirectoryFilter) {\n counterDirectories(filter: $filter) {\n directoryId\n id\n name\n position\n workplaceId\n }\n }\n`;\nexport const CountersDocument = gql`\n query counters($filter: CounterFilter) {\n counters(filter: $filter) {\n directoryId\n hasNote\n id\n isDisabled\n kind\n name\n position\n value\n workplaceId\n }\n }\n`;\nexport const CurrentUserDocument = gql`\n query currentUser {\n currentUser {\n id\n login\n name\n }\n }\n`;\nexport const DashboardsDocument = gql`\n query dashboards($filter: DashboardFilter) {\n dashboards(filter: $filter) {\n filters\n gridLayout\n id\n name\n }\n }\n`;\nexport const DepartmentsDocument = gql`\n query departments($filter: DepartmentFilter) {\n departments(filter: $filter) {\n id\n name\n }\n }\n`;\nexport const FloorPlansDocument = gql`\n query floorPlans($filter: FloorPlanFilter) {\n floorPlans(filter: $filter) {\n id\n imageUrl\n name\n }\n }\n`;\nexport const MetricValuesDocument = gql`\n query metricValues($metricIds: [ID!], $workplaceIds: [ID!]) {\n metricValues(metricIds: $metricIds, workplaceIds: $workplaceIds) {\n active\n id\n metricId\n statusColor\n textValue\n timer\n type\n unit\n workplaceId\n }\n }\n`;\nexport const MetricsDocument = gql`\n query metrics {\n metrics {\n id\n name\n }\n }\n`;\nexport const NotificationsDocument = gql`\n query notifications($filter: NotificationFilter) {\n notifications(filter: $filter) {\n channel\n details\n emitterId\n emitterType\n id\n message\n receiverId\n receiverType\n status\n }\n }\n`;\nexport const OrdersDocument = gql`\n query orders($filter: OrderFilter) {\n orders(filter: $filter) {\n executedCount\n finishedAt\n id\n items {\n count\n id\n order {\n executedCount\n finishedAt\n id\n items {\n count\n id\n product {\n assemblyManual\n id\n name\n number\n }\n }\n note\n number\n plannedCount\n position\n startedAt\n workplaces {\n colorHex\n currentStatusChange {\n author {\n id\n login\n name\n }\n finishedAt\n id\n note\n order {\n executedCount\n finishedAt\n id\n note\n number\n plannedCount\n position\n startedAt\n }\n product {\n assemblyManual\n id\n name\n number\n }\n reason {\n acceptanceMonit\n canBeRecommended\n hasNote\n id\n isNoteRequired\n leaf\n name\n parentId\n position\n reasonGroupId\n statusColor\n temporary\n }\n reasonHasBeenRecommended\n startedAt\n workplaceId\n }\n deactivated\n departmentId\n dtrUrl\n id\n minOperators\n name\n reasonGroupId\n reasonsRecommendationsEnabled\n }\n }\n }\n note\n number\n plannedCount\n position\n startedAt\n workplaces {\n colorHex\n deactivated\n departmentId\n dtrUrl\n id\n minOperators\n name\n reasonGroupId\n reasonsRecommendationsEnabled\n }\n }\n }\n`;\nexport const OrdersExecutionsDocument = gql`\n query ordersExecutions($filter: OrderExecutionFilter) {\n ordersExecutions(filter: $filter) {\n finishedAt\n id\n item {\n count\n id\n order {\n executedCount\n finishedAt\n id\n items {\n count\n id\n order {\n executedCount\n finishedAt\n id\n note\n number\n plannedCount\n position\n startedAt\n workplaces {\n colorHex\n currentStatusChange {\n author {\n id\n login\n name\n }\n finishedAt\n id\n note\n order {\n executedCount\n finishedAt\n id\n note\n number\n plannedCount\n position\n startedAt\n }\n product {\n assemblyManual\n id\n name\n number\n }\n reason {\n acceptanceMonit\n canBeRecommended\n hasNote\n id\n isNoteRequired\n leaf\n name\n parentId\n position\n reasonGroupId\n statusColor\n temporary\n }\n reasonHasBeenRecommended\n startedAt\n workplaceId\n }\n deactivated\n departmentId\n dtrUrl\n id\n minOperators\n name\n reasonGroupId\n reasonsRecommendationsEnabled\n }\n }\n product {\n assemblyManual\n id\n name\n number\n }\n }\n note\n number\n plannedCount\n position\n startedAt\n }\n product {\n assemblyManual\n id\n name\n number\n }\n }\n itemCount\n note\n order {\n executedCount\n finishedAt\n id\n note\n number\n plannedCount\n position\n startedAt\n }\n product {\n assemblyManual\n id\n name\n number\n }\n standardRateMismatched\n startedAt\n workplaceId\n }\n }\n`;\nexport const ProductionInsightsDocument = gql`\n query productionInsights($input: ProductionInsightsInput!) {\n productionInsights(input: $input) {\n entries {\n count\n label\n }\n }\n }\n`;\nexport const ProductsDocument = gql`\n query products($filter: ProductFilter) {\n products(filter: $filter) {\n assemblyManual\n id\n name\n number\n }\n }\n`;\nexport const ReasonsDocument = gql`\n query reasons($filter: ReasonFilter) {\n reasons(filter: $filter) {\n acceptanceMonit\n canBeRecommended\n hasNote\n id\n isNoteRequired\n leaf\n name\n parentId\n position\n reasonGroupId\n statusColor\n temporary\n }\n }\n`;\nexport const ReasonsRecommendationDocument = gql`\n query reasonsRecommendation($workplaceId: String!) {\n reasonsRecommendation(workplaceId: $workplaceId) {\n reasons {\n acceptanceMonit\n canBeRecommended\n hasNote\n id\n isNoteRequired\n leaf\n name\n parentId\n position\n reasonGroupId\n statusColor\n temporary\n }\n trainingStatus\n }\n }\n`;\nexport const ShiftsDocument = gql`\n query shifts {\n shifts {\n finishedAt\n id\n name\n startedAt\n }\n }\n`;\nexport const StaffingPlansDocument = gql`\n query staffingPlans($filter: StaffingPlanFilter) {\n staffingPlans(filter: $filter) {\n id\n workplace {\n colorHex\n currentStatusChange {\n author {\n id\n login\n name\n }\n finishedAt\n id\n note\n order {\n executedCount\n finishedAt\n id\n items {\n count\n id\n order {\n executedCount\n finishedAt\n id\n note\n number\n plannedCount\n position\n startedAt\n workplaces {\n colorHex\n currentStatusChange {\n finishedAt\n id\n note\n product {\n assemblyManual\n id\n name\n number\n }\n reason {\n acceptanceMonit\n canBeRecommended\n hasNote\n id\n isNoteRequired\n leaf\n name\n parentId\n position\n reasonGroupId\n statusColor\n temporary\n }\n reasonHasBeenRecommended\n startedAt\n workplaceId\n }\n deactivated\n departmentId\n dtrUrl\n id\n minOperators\n name\n reasonGroupId\n reasonsRecommendationsEnabled\n }\n }\n product {\n assemblyManual\n id\n name\n number\n }\n }\n note\n number\n plannedCount\n position\n startedAt\n }\n reasonHasBeenRecommended\n startedAt\n workplaceId\n }\n deactivated\n departmentId\n dtrUrl\n id\n minOperators\n name\n reasonGroupId\n reasonsRecommendationsEnabled\n }\n date\n shift {\n finishedAt\n id\n name\n startedAt\n }\n recommendedOperators\n createdAt\n updatedAt\n author {\n id\n login\n name\n }\n }\n }\n`;\nexport const StandardRatesDocument = gql`\n query standardRates($orderExecutionId: ID!) {\n standardRates(orderExecutionId: $orderExecutionId) {\n id\n label\n }\n }\n`;\nexport const StatusChangeTransitionPermissionsDocument = gql`\n query statusChangeTransitionPermissions($filter: StatusChangeTransitionPermissionFilter) {\n statusChangeTransitionPermissions(filter: $filter) {\n fromReasonId\n roleId\n toReasonId\n workplaceId\n }\n }\n`;\nexport const StatusChangesDocument = gql`\n query statusChanges($filter: StatusChangeFilter) {\n statusChanges(filter: $filter) {\n author {\n id\n login\n name\n }\n finishedAt\n id\n note\n order {\n executedCount\n finishedAt\n id\n items {\n count\n id\n order {\n executedCount\n finishedAt\n id\n note\n number\n plannedCount\n position\n startedAt\n workplaces {\n colorHex\n currentStatusChange {\n author {\n id\n login\n name\n }\n finishedAt\n id\n note\n order {\n executedCount\n finishedAt\n id\n note\n number\n plannedCount\n position\n startedAt\n }\n product {\n assemblyManual\n id\n name\n number\n }\n reason {\n acceptanceMonit\n canBeRecommended\n hasNote\n id\n isNoteRequired\n leaf\n name\n parentId\n position\n reasonGroupId\n statusColor\n temporary\n }\n reasonHasBeenRecommended\n startedAt\n workplaceId\n }\n deactivated\n departmentId\n dtrUrl\n id\n minOperators\n name\n reasonGroupId\n reasonsRecommendationsEnabled\n }\n }\n product {\n assemblyManual\n id\n name\n number\n }\n }\n note\n number\n plannedCount\n position\n startedAt\n }\n product {\n assemblyManual\n id\n name\n number\n }\n reason {\n acceptanceMonit\n canBeRecommended\n hasNote\n id\n isNoteRequired\n leaf\n name\n parentId\n position\n reasonGroupId\n statusColor\n temporary\n }\n reasonHasBeenRecommended\n startedAt\n workplaceId\n }\n }\n`;\nexport const StatusInsightsDocument = gql`\n query statusInsights($input: StatusInsightsInput!) {\n statusInsights(input: $input) {\n entries {\n averageDurationMinutes\n label\n occurrenceCount\n }\n }\n }\n`;\nexport const UsersDocument = gql`\n query users($filter: UserFilter) {\n users(filter: $filter) {\n id\n login\n name\n }\n }\n`;\nexport const UsersPresencesDocument = gql`\n query usersPresences($filter: UserPresenceFilter) {\n usersPresences(filter: $filter) {\n author {\n id\n login\n name\n }\n finishedAt\n id\n startedAt\n user {\n id\n login\n name\n }\n workplaceId\n }\n }\n`;\nexport const WidgetDocument = gql`\n query widget($id: ID!) {\n widget(id: $id) {\n config\n id\n }\n }\n`;\nexport const WidgetsDocument = gql`\n query widgets($filter: WidgetFilter) {\n widgets(filter: $filter) {\n config\n id\n }\n }\n`;\nexport const WorkOrdersDocument = gql`\n query workOrders($filter: WorkOrderFilter) {\n workOrders(filter: $filter) {\n assignees {\n id\n login\n name\n }\n category {\n description\n id\n name\n }\n closedAt\n createdAt\n creationMethod\n description\n dtrUrl\n dueAt\n id\n name\n note\n originalOccurrenceAt\n priority\n procedureDescription\n procedureName\n procedureResponse\n procedureTemplate\n startAt\n status\n timeSpentHours\n timeSpentMinutes\n updatedAt\n workplaces {\n colorHex\n currentStatusChange {\n author {\n id\n login\n name\n }\n finishedAt\n id\n note\n order {\n executedCount\n finishedAt\n id\n items {\n count\n id\n order {\n executedCount\n finishedAt\n id\n note\n number\n plannedCount\n position\n startedAt\n workplaces {\n colorHex\n deactivated\n departmentId\n dtrUrl\n id\n minOperators\n name\n reasonGroupId\n reasonsRecommendationsEnabled\n }\n }\n product {\n assemblyManual\n id\n name\n number\n }\n }\n note\n number\n plannedCount\n position\n startedAt\n }\n product {\n assemblyManual\n id\n name\n number\n }\n reason {\n acceptanceMonit\n canBeRecommended\n hasNote\n id\n isNoteRequired\n leaf\n name\n parentId\n position\n reasonGroupId\n statusColor\n temporary\n }\n reasonHasBeenRecommended\n startedAt\n workplaceId\n }\n deactivated\n departmentId\n dtrUrl\n id\n minOperators\n name\n reasonGroupId\n reasonsRecommendationsEnabled\n }\n }\n }\n`;\nexport const WorkOrdersInsightsDocument = gql`\n query workOrdersInsights($input: WorkOrdersInsightsInput!) {\n workOrdersInsights(input: $input) {\n categories {\n categoryId\n categoryName\n durations {\n count\n lowerBoundMinutes\n upperBoundMinutes\n }\n totalCount\n }\n }\n }\n`;\nexport const WorkplaceAssignmentsDocument = gql`\n query workplaceAssignments($input: WorkplaceAssignmentsInput!) {\n workplaceAssignments(input: $input) {\n summary {\n totalAssigned\n totalCheckedIn\n totalMissing\n }\n unassignedOperators {\n id\n login\n name\n }\n workplaces {\n assignedCount\n assignedOperators {\n presenceStatus\n user {\n id\n login\n name\n }\n }\n isOvercapacity\n missingCount\n recommendedOperators\n unplannedOperators {\n plannedWorkplace {\n colorHex\n currentStatusChange {\n author {\n id\n login\n name\n }\n finishedAt\n id\n note\n order {\n executedCount\n finishedAt\n id\n items {\n count\n id\n order {\n executedCount\n finishedAt\n id\n note\n number\n plannedCount\n position\n startedAt\n workplaces {\n colorHex\n currentStatusChange {\n finishedAt\n id\n note\n product {\n assemblyManual\n id\n name\n number\n }\n reason {\n acceptanceMonit\n canBeRecommended\n hasNote\n id\n isNoteRequired\n leaf\n name\n parentId\n position\n reasonGroupId\n statusColor\n temporary\n }\n reasonHasBeenRecommended\n startedAt\n workplaceId\n }\n deactivated\n departmentId\n dtrUrl\n id\n minOperators\n name\n reasonGroupId\n reasonsRecommendationsEnabled\n }\n }\n product {\n assemblyManual\n id\n name\n number\n }\n }\n note\n number\n plannedCount\n position\n startedAt\n }\n reasonHasBeenRecommended\n startedAt\n workplaceId\n }\n deactivated\n departmentId\n dtrUrl\n id\n minOperators\n name\n reasonGroupId\n reasonsRecommendationsEnabled\n }\n user {\n id\n login\n name\n }\n }\n workplace {\n colorHex\n currentStatusChange {\n finishedAt\n id\n note\n reasonHasBeenRecommended\n startedAt\n workplaceId\n }\n deactivated\n departmentId\n dtrUrl\n id\n minOperators\n name\n reasonGroupId\n reasonsRecommendationsEnabled\n }\n }\n }\n }\n`;\nexport const WorkplacePerformanceInsightsDocument = gql`\n query workplacePerformanceInsights($input: WorkplacePerformanceInsightsInput!) {\n workplacePerformanceInsights(input: $input) {\n endDate\n mtbf\n mtbfSeconds\n mttr\n mttrSeconds\n reasons {\n availabilityStatus\n averageDuration\n averageDurationSeconds\n maxDuration\n maxDurationSeconds\n occurrences\n percentage\n reasonColor\n reasonId\n reasonName\n statusChanges {\n firstSegmentStart\n id\n lastSegmentEnd\n note\n originalEnd\n originalStart\n segments\n totalSegmentDuration\n totalSegmentSeconds\n uuid\n }\n totalDuration\n totalSeconds\n }\n startDate\n offScheduleDuration\n offScheduleSeconds\n totalDowntime\n totalDowntimePercentage\n totalDowntimeSeconds\n totalDuration\n totalSeconds\n totalUptime\n totalUptimePercentage\n totalUptimeSeconds\n workplaceId\n workplaceName\n }\n }\n`;\nexport const WorkplacesDocument = gql`\n query workplaces($filter: WorkplaceFilter) {\n workplaces(filter: $filter) {\n colorHex\n currentStatusChange {\n author {\n id\n login\n name\n }\n finishedAt\n id\n note\n order {\n executedCount\n finishedAt\n id\n items {\n count\n id\n order {\n executedCount\n finishedAt\n id\n note\n number\n plannedCount\n position\n startedAt\n workplaces {\n colorHex\n deactivated\n departmentId\n dtrUrl\n id\n minOperators\n name\n reasonGroupId\n reasonsRecommendationsEnabled\n }\n }\n product {\n assemblyManual\n id\n name\n number\n }\n }\n note\n number\n plannedCount\n position\n startedAt\n }\n product {\n assemblyManual\n id\n name\n number\n }\n reason {\n acceptanceMonit\n canBeRecommended\n hasNote\n id\n isNoteRequired\n leaf\n name\n parentId\n position\n reasonGroupId\n statusColor\n temporary\n }\n reasonHasBeenRecommended\n startedAt\n workplaceId\n }\n deactivated\n departmentId\n dtrUrl\n id\n minOperators\n name\n reasonGroupId\n reasonsRecommendationsEnabled\n }\n }\n`;\nexport const AssignOperatorDocument = gql`\n mutation assignOperator($input: AssignOperatorInput!) {\n assignOperatorToWorkplace(input: $input) {\n errors {\n field\n messages\n }\n assignment {\n id\n user {\n id\n name\n }\n workplace {\n id\n name\n }\n shift {\n id\n name\n }\n validFrom\n }\n }\n }\n`;\nexport const UnassignOperatorDocument = gql`\n mutation unassignOperator($input: UnassignOperatorInput!) {\n unassignOperatorFromWorkplace(input: $input) {\n errors {\n field\n messages\n }\n assignment {\n id\n user {\n id\n name\n }\n validFrom\n }\n }\n }\n`;\nexport const GetWorkplacePerformanceInsightsDocument = gql`\n query getWorkplacePerformanceInsights($input: WorkplacePerformanceInsightsInput!) {\n workplacePerformanceInsights(input: $input) {\n workplaceId\n workplaceName\n startDate\n endDate\n totalDuration\n totalSeconds\n totalUptime\n totalUptimePercentage\n totalDowntime\n totalDowntimePercentage\n mtbf\n mttr\n reasons {\n reasonId\n reasonName\n reasonColor\n availabilityStatus\n totalDuration\n totalSeconds\n percentage\n occurrences\n averageDuration\n maxDuration\n }\n }\n }\n`;\nexport const ListActualStaffingCountsDocument = gql`\n query listActualStaffingCounts($filter: ActualStaffingCountFilter) {\n actualStaffingCounts(filter: $filter) {\n workplace {\n id\n name\n }\n date\n shift {\n id\n name\n }\n actualOperators\n plannedOperators\n hasDeviation\n }\n }\n`;\nexport const ListStaffingPlansDocument = gql`\n query listStaffingPlans($filter: StaffingPlanFilter) {\n staffingPlans(filter: $filter) {\n id\n workplace {\n id\n name\n colorHex\n }\n date\n shift {\n id\n name\n }\n recommendedOperators\n }\n }\n`;\nexport const ListStatusChangesDocument = gql`\n query listStatusChanges($filter: StatusChangeFilter) {\n statusChanges(filter: $filter) {\n author {\n id\n login\n name\n }\n finishedAt\n id\n note\n order {\n executedCount\n id\n note\n number\n plannedCount\n position\n startedAt\n finishedAt\n }\n product {\n assemblyManual\n id\n name\n number\n }\n reason {\n acceptanceMonit\n canBeRecommended\n hasNote\n id\n isNoteRequired\n leaf\n name\n parentId\n position\n reasonGroupId\n statusColor\n temporary\n }\n reasonHasBeenRecommended\n startedAt\n workplaceId\n }\n }\n`;\nexport const ListWorkOrdersDocument = gql`\n query listWorkOrders($filter: WorkOrderFilter) {\n workOrders(filter: $filter) {\n assignees {\n id\n login\n name\n }\n category {\n description\n id\n name\n }\n closedAt\n createdAt\n creationMethod\n description\n dtrUrl\n dueAt\n id\n name\n note\n originalOccurrenceAt\n priority\n procedureDescription\n procedureName\n procedureResponse\n procedureTemplate\n startAt\n status\n timeSpentHours\n timeSpentMinutes\n updatedAt\n workplaces {\n id\n name\n }\n }\n }\n`;\nexport const ListWorkplaceAssignmentsDocument = gql`\n query listWorkplaceAssignments($input: WorkplaceAssignmentsInput!) {\n workplaceAssignments(input: $input) {\n workplaces {\n workplace {\n id\n name\n }\n assignedOperators {\n user {\n id\n name\n }\n presenceStatus\n }\n unplannedOperators {\n user {\n id\n name\n }\n plannedWorkplace {\n id\n name\n }\n }\n recommendedOperators\n assignedCount\n missingCount\n isOvercapacity\n }\n unassignedOperators {\n id\n name\n }\n summary {\n totalAssigned\n totalCheckedIn\n totalMissing\n }\n }\n }\n`;\nexport const ListWorkplacesDocument = gql`\n query listWorkplaces($filter: WorkplaceFilter) {\n workplaces(filter: $filter) {\n deactivated\n departmentId\n id\n minOperators\n name\n reasonGroupId\n reasonsRecommendationsEnabled\n }\n }\n`;\nexport const WorkplaceEventDocument = gql`\n subscription workplaceEvent($id: ID!) {\n workplaceEvent(id: $id) {\n event\n subject {\n __typename\n ... on Counter {\n directoryId\n hasNote\n id\n isDisabled\n kind\n name\n counterPosition: position\n value\n workplaceId\n }\n ... on Item {\n count\n id\n }\n ... on MetricValue {\n active\n id\n metricId\n statusColor\n textValue\n timer\n type\n unit\n workplaceId\n }\n ... on Notification {\n channel\n details\n emitterId\n emitterType\n id\n message\n receiverId\n receiverType\n status\n }\n ... on Shift {\n shiftFinishedAt: finishedAt\n id\n name\n shiftStartedAt: startedAt\n }\n ... on Order {\n executedCount\n id\n items {\n count\n id\n }\n note\n number\n plannedCount\n position\n orderStartedAt: startedAt\n orderFinishedAt: finishedAt\n workplaces {\n deactivated\n departmentId\n id\n minOperators\n name\n reasonGroupId\n reasonsRecommendationsEnabled\n }\n }\n ... on OrderExecution {\n finishedAt\n id\n item {\n count\n id\n order {\n executedCount\n id\n note\n number\n plannedCount\n position\n startedAt\n finishedAt\n }\n product {\n assemblyManual\n id\n name\n number\n }\n }\n itemCount\n note\n standardRateMismatched\n startedAt\n workplaceId\n }\n ... on StatusChange {\n author {\n id\n login\n name\n }\n finishedAt\n id\n note\n order {\n executedCount\n id\n note\n number\n plannedCount\n position\n startedAt\n finishedAt\n }\n product {\n assemblyManual\n id\n name\n number\n }\n reason {\n acceptanceMonit\n canBeRecommended\n hasNote\n id\n isNoteRequired\n leaf\n name\n parentId\n position\n reasonGroupId\n statusColor\n temporary\n }\n reasonHasBeenRecommended\n startedAt\n workplaceId\n }\n ... on UserPresence {\n finishedAt\n id\n startedAt\n user {\n id\n login\n name\n }\n workplaceId\n }\n }\n }\n }\n`;\n\nexport type SdkFunctionWrapper = <T>(\n action: (requestHeaders?: Record<string, string>) => Promise<T>,\n operationName: string,\n operationType?: string,\n variables?: any,\n) => Promise<T>;\n\nconst defaultWrapper: SdkFunctionWrapper = (action, _operationName, _operationType, _variables) => action();\n\nexport function getSdk(client: GraphQLClient, withWrapper: SdkFunctionWrapper = defaultWrapper) {\n return {\n assignOperatorToWorkplace(\n variables: AssignOperatorToWorkplaceMutationVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<AssignOperatorToWorkplaceMutation> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<AssignOperatorToWorkplaceMutation>({\n document: AssignOperatorToWorkplaceDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'assignOperatorToWorkplace',\n 'mutation',\n variables,\n );\n },\n bulkUpsertStaffingPlans(\n variables: BulkUpsertStaffingPlansMutationVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<BulkUpsertStaffingPlansMutation> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<BulkUpsertStaffingPlansMutation>({\n document: BulkUpsertStaffingPlansDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'bulkUpsertStaffingPlans',\n 'mutation',\n variables,\n );\n },\n createDashboard(\n variables: CreateDashboardMutationVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<CreateDashboardMutation> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<CreateDashboardMutation>({\n document: CreateDashboardDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'createDashboard',\n 'mutation',\n variables,\n );\n },\n createOrder(\n variables: CreateOrderMutationVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<CreateOrderMutation> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<CreateOrderMutation>({\n document: CreateOrderDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'createOrder',\n 'mutation',\n variables,\n );\n },\n createProduct(\n variables: CreateProductMutationVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<CreateProductMutation> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<CreateProductMutation>({\n document: CreateProductDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'createProduct',\n 'mutation',\n variables,\n );\n },\n createStaffingPlan(\n variables: CreateStaffingPlanMutationVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<CreateStaffingPlanMutation> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<CreateStaffingPlanMutation>({\n document: CreateStaffingPlanDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'createStaffingPlan',\n 'mutation',\n variables,\n );\n },\n createStatusChange(\n variables: CreateStatusChangeMutationVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<CreateStatusChangeMutation> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<CreateStatusChangeMutation>({\n document: CreateStatusChangeDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'createStatusChange',\n 'mutation',\n variables,\n );\n },\n createUserPresence(\n variables: CreateUserPresenceMutationVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<CreateUserPresenceMutation> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<CreateUserPresenceMutation>({\n document: CreateUserPresenceDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'createUserPresence',\n 'mutation',\n variables,\n );\n },\n createWidget(\n variables: CreateWidgetMutationVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<CreateWidgetMutation> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<CreateWidgetMutation>({\n document: CreateWidgetDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'createWidget',\n 'mutation',\n variables,\n );\n },\n pauseOrderExecution(\n variables: PauseOrderExecutionMutationVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<PauseOrderExecutionMutation> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<PauseOrderExecutionMutation>({\n document: PauseOrderExecutionDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'pauseOrderExecution',\n 'mutation',\n variables,\n );\n },\n removeDashboard(\n variables: RemoveDashboardMutationVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<RemoveDashboardMutation> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<RemoveDashboardMutation>({\n document: RemoveDashboardDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'removeDashboard',\n 'mutation',\n variables,\n );\n },\n removeStaffingPlan(\n variables: RemoveStaffingPlanMutationVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<RemoveStaffingPlanMutation> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<RemoveStaffingPlanMutation>({\n document: RemoveStaffingPlanDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'removeStaffingPlan',\n 'mutation',\n variables,\n );\n },\n removeUserPresence(\n variables: RemoveUserPresenceMutationVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<RemoveUserPresenceMutation> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<RemoveUserPresenceMutation>({\n document: RemoveUserPresenceDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'removeUserPresence',\n 'mutation',\n variables,\n );\n },\n removeWidget(\n variables: RemoveWidgetMutationVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<RemoveWidgetMutation> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<RemoveWidgetMutation>({\n document: RemoveWidgetDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'removeWidget',\n 'mutation',\n variables,\n );\n },\n removeWorkplaceUsersPresences(\n variables: RemoveWorkplaceUsersPresencesMutationVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<RemoveWorkplaceUsersPresencesMutation> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<RemoveWorkplaceUsersPresencesMutation>({\n document: RemoveWorkplaceUsersPresencesDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'removeWorkplaceUsersPresences',\n 'mutation',\n variables,\n );\n },\n requestFeatureAccess(\n variables: RequestFeatureAccessMutationVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<RequestFeatureAccessMutation> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<RequestFeatureAccessMutation>({\n document: RequestFeatureAccessDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'requestFeatureAccess',\n 'mutation',\n variables,\n );\n },\n setCounter(\n variables: SetCounterMutationVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<SetCounterMutation> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<SetCounterMutation>({\n document: SetCounterDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'setCounter',\n 'mutation',\n variables,\n );\n },\n startOrderExecution(\n variables: StartOrderExecutionMutationVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<StartOrderExecutionMutation> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<StartOrderExecutionMutation>({\n document: StartOrderExecutionDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'startOrderExecution',\n 'mutation',\n variables,\n );\n },\n startTrial(\n variables: StartTrialMutationVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<StartTrialMutation> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<StartTrialMutation>({\n document: StartTrialDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'startTrial',\n 'mutation',\n variables,\n );\n },\n stopOrderExecution(\n variables: StopOrderExecutionMutationVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<StopOrderExecutionMutation> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<StopOrderExecutionMutation>({\n document: StopOrderExecutionDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'stopOrderExecution',\n 'mutation',\n variables,\n );\n },\n unassignOperatorFromWorkplace(\n variables: UnassignOperatorFromWorkplaceMutationVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<UnassignOperatorFromWorkplaceMutation> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<UnassignOperatorFromWorkplaceMutation>({\n document: UnassignOperatorFromWorkplaceDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'unassignOperatorFromWorkplace',\n 'mutation',\n variables,\n );\n },\n updateDashboard(\n variables: UpdateDashboardMutationVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<UpdateDashboardMutation> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<UpdateDashboardMutation>({\n document: UpdateDashboardDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'updateDashboard',\n 'mutation',\n variables,\n );\n },\n updateNotification(\n variables: UpdateNotificationMutationVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<UpdateNotificationMutation> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<UpdateNotificationMutation>({\n document: UpdateNotificationDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'updateNotification',\n 'mutation',\n variables,\n );\n },\n updateOrder(\n variables: UpdateOrderMutationVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<UpdateOrderMutation> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<UpdateOrderMutation>({\n document: UpdateOrderDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'updateOrder',\n 'mutation',\n variables,\n );\n },\n updateOrderExecution(\n variables: UpdateOrderExecutionMutationVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<UpdateOrderExecutionMutation> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<UpdateOrderExecutionMutation>({\n document: UpdateOrderExecutionDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'updateOrderExecution',\n 'mutation',\n variables,\n );\n },\n updateStaffingPlan(\n variables: UpdateStaffingPlanMutationVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<UpdateStaffingPlanMutation> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<UpdateStaffingPlanMutation>({\n document: UpdateStaffingPlanDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'updateStaffingPlan',\n 'mutation',\n variables,\n );\n },\n updateStatusChange(\n variables: UpdateStatusChangeMutationVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<UpdateStatusChangeMutation> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<UpdateStatusChangeMutation>({\n document: UpdateStatusChangeDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'updateStatusChange',\n 'mutation',\n variables,\n );\n },\n updateWidget(\n variables: UpdateWidgetMutationVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<UpdateWidgetMutation> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<UpdateWidgetMutation>({\n document: UpdateWidgetDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'updateWidget',\n 'mutation',\n variables,\n );\n },\n updateWorkOrder(\n variables: UpdateWorkOrderMutationVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<UpdateWorkOrderMutation> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<UpdateWorkOrderMutation>({\n document: UpdateWorkOrderDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'updateWorkOrder',\n 'mutation',\n variables,\n );\n },\n actualStaffingCounts(\n variables?: ActualStaffingCountsQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<ActualStaffingCountsQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<ActualStaffingCountsQuery>({\n document: ActualStaffingCountsDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'actualStaffingCounts',\n 'query',\n variables,\n );\n },\n applicationInfo(\n variables?: ApplicationInfoQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<ApplicationInfoQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<ApplicationInfoQuery>({\n document: ApplicationInfoDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'applicationInfo',\n 'query',\n variables,\n );\n },\n availabilityInsights(\n variables: AvailabilityInsightsQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<AvailabilityInsightsQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<AvailabilityInsightsQuery>({\n document: AvailabilityInsightsDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'availabilityInsights',\n 'query',\n variables,\n );\n },\n companyConfig(\n variables?: CompanyConfigQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<CompanyConfigQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<CompanyConfigQuery>({\n document: CompanyConfigDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'companyConfig',\n 'query',\n variables,\n );\n },\n counterDirectories(\n variables?: CounterDirectoriesQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<CounterDirectoriesQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<CounterDirectoriesQuery>({\n document: CounterDirectoriesDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'counterDirectories',\n 'query',\n variables,\n );\n },\n counters(\n variables?: CountersQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<CountersQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<CountersQuery>({\n document: CountersDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'counters',\n 'query',\n variables,\n );\n },\n currentUser(\n variables?: CurrentUserQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<CurrentUserQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<CurrentUserQuery>({\n document: CurrentUserDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'currentUser',\n 'query',\n variables,\n );\n },\n dashboards(\n variables?: DashboardsQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<DashboardsQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<DashboardsQuery>({\n document: DashboardsDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'dashboards',\n 'query',\n variables,\n );\n },\n departments(\n variables?: DepartmentsQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<DepartmentsQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<DepartmentsQuery>({\n document: DepartmentsDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'departments',\n 'query',\n variables,\n );\n },\n floorPlans(\n variables?: FloorPlansQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<FloorPlansQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<FloorPlansQuery>({\n document: FloorPlansDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'floorPlans',\n 'query',\n variables,\n );\n },\n metricValues(\n variables?: MetricValuesQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<MetricValuesQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<MetricValuesQuery>({\n document: MetricValuesDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'metricValues',\n 'query',\n variables,\n );\n },\n metrics(\n variables?: MetricsQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<MetricsQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<MetricsQuery>({\n document: MetricsDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'metrics',\n 'query',\n variables,\n );\n },\n notifications(\n variables?: NotificationsQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<NotificationsQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<NotificationsQuery>({\n document: NotificationsDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'notifications',\n 'query',\n variables,\n );\n },\n orders(\n variables?: OrdersQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<OrdersQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<OrdersQuery>({\n document: OrdersDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'orders',\n 'query',\n variables,\n );\n },\n ordersExecutions(\n variables?: OrdersExecutionsQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<OrdersExecutionsQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<OrdersExecutionsQuery>({\n document: OrdersExecutionsDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'ordersExecutions',\n 'query',\n variables,\n );\n },\n productionInsights(\n variables: ProductionInsightsQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<ProductionInsightsQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<ProductionInsightsQuery>({\n document: ProductionInsightsDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'productionInsights',\n 'query',\n variables,\n );\n },\n products(\n variables?: ProductsQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<ProductsQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<ProductsQuery>({\n document: ProductsDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'products',\n 'query',\n variables,\n );\n },\n reasons(\n variables?: ReasonsQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<ReasonsQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<ReasonsQuery>({\n document: ReasonsDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'reasons',\n 'query',\n variables,\n );\n },\n reasonsRecommendation(\n variables: ReasonsRecommendationQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<ReasonsRecommendationQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<ReasonsRecommendationQuery>({\n document: ReasonsRecommendationDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'reasonsRecommendation',\n 'query',\n variables,\n );\n },\n shifts(\n variables?: ShiftsQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<ShiftsQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<ShiftsQuery>({\n document: ShiftsDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'shifts',\n 'query',\n variables,\n );\n },\n staffingPlans(\n variables?: StaffingPlansQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<StaffingPlansQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<StaffingPlansQuery>({\n document: StaffingPlansDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'staffingPlans',\n 'query',\n variables,\n );\n },\n standardRates(\n variables: StandardRatesQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<StandardRatesQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<StandardRatesQuery>({\n document: StandardRatesDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'standardRates',\n 'query',\n variables,\n );\n },\n statusChangeTransitionPermissions(\n variables?: StatusChangeTransitionPermissionsQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<StatusChangeTransitionPermissionsQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<StatusChangeTransitionPermissionsQuery>({\n document: StatusChangeTransitionPermissionsDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'statusChangeTransitionPermissions',\n 'query',\n variables,\n );\n },\n statusChanges(\n variables?: StatusChangesQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<StatusChangesQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<StatusChangesQuery>({\n document: StatusChangesDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'statusChanges',\n 'query',\n variables,\n );\n },\n statusInsights(\n variables: StatusInsightsQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<StatusInsightsQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<StatusInsightsQuery>({\n document: StatusInsightsDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'statusInsights',\n 'query',\n variables,\n );\n },\n users(\n variables?: UsersQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<UsersQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<UsersQuery>({\n document: UsersDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'users',\n 'query',\n variables,\n );\n },\n usersPresences(\n variables?: UsersPresencesQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<UsersPresencesQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<UsersPresencesQuery>({\n document: UsersPresencesDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'usersPresences',\n 'query',\n variables,\n );\n },\n widget(\n variables: WidgetQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<WidgetQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<WidgetQuery>({\n document: WidgetDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'widget',\n 'query',\n variables,\n );\n },\n widgets(\n variables?: WidgetsQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<WidgetsQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<WidgetsQuery>({\n document: WidgetsDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'widgets',\n 'query',\n variables,\n );\n },\n workOrders(\n variables?: WorkOrdersQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<WorkOrdersQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<WorkOrdersQuery>({\n document: WorkOrdersDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'workOrders',\n 'query',\n variables,\n );\n },\n workOrdersInsights(\n variables: WorkOrdersInsightsQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<WorkOrdersInsightsQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<WorkOrdersInsightsQuery>({\n document: WorkOrdersInsightsDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'workOrdersInsights',\n 'query',\n variables,\n );\n },\n workplaceAssignments(\n variables: WorkplaceAssignmentsQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<WorkplaceAssignmentsQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<WorkplaceAssignmentsQuery>({\n document: WorkplaceAssignmentsDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'workplaceAssignments',\n 'query',\n variables,\n );\n },\n workplacePerformanceInsights(\n variables: WorkplacePerformanceInsightsQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<WorkplacePerformanceInsightsQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<WorkplacePerformanceInsightsQuery>({\n document: WorkplacePerformanceInsightsDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'workplacePerformanceInsights',\n 'query',\n variables,\n );\n },\n workplaces(\n variables?: WorkplacesQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<WorkplacesQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<WorkplacesQuery>({\n document: WorkplacesDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'workplaces',\n 'query',\n variables,\n );\n },\n assignOperator(\n variables: AssignOperatorMutationVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<AssignOperatorMutation> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<AssignOperatorMutation>({\n document: AssignOperatorDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'assignOperator',\n 'mutation',\n variables,\n );\n },\n unassignOperator(\n variables: UnassignOperatorMutationVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<UnassignOperatorMutation> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<UnassignOperatorMutation>({\n document: UnassignOperatorDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'unassignOperator',\n 'mutation',\n variables,\n );\n },\n getWorkplacePerformanceInsights(\n variables: GetWorkplacePerformanceInsightsQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<GetWorkplacePerformanceInsightsQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<GetWorkplacePerformanceInsightsQuery>({\n document: GetWorkplacePerformanceInsightsDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'getWorkplacePerformanceInsights',\n 'query',\n variables,\n );\n },\n listActualStaffingCounts(\n variables?: ListActualStaffingCountsQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<ListActualStaffingCountsQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<ListActualStaffingCountsQuery>({\n document: ListActualStaffingCountsDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'listActualStaffingCounts',\n 'query',\n variables,\n );\n },\n listStaffingPlans(\n variables?: ListStaffingPlansQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<ListStaffingPlansQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<ListStaffingPlansQuery>({\n document: ListStaffingPlansDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'listStaffingPlans',\n 'query',\n variables,\n );\n },\n listStatusChanges(\n variables?: ListStatusChangesQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<ListStatusChangesQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<ListStatusChangesQuery>({\n document: ListStatusChangesDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'listStatusChanges',\n 'query',\n variables,\n );\n },\n listWorkOrders(\n variables?: ListWorkOrdersQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<ListWorkOrdersQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<ListWorkOrdersQuery>({\n document: ListWorkOrdersDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'listWorkOrders',\n 'query',\n variables,\n );\n },\n listWorkplaceAssignments(\n variables: ListWorkplaceAssignmentsQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<ListWorkplaceAssignmentsQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<ListWorkplaceAssignmentsQuery>({\n document: ListWorkplaceAssignmentsDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'listWorkplaceAssignments',\n 'query',\n variables,\n );\n },\n listWorkplaces(\n variables?: ListWorkplacesQueryVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<ListWorkplacesQuery> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<ListWorkplacesQuery>({\n document: ListWorkplacesDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'listWorkplaces',\n 'query',\n variables,\n );\n },\n workplaceEvent(\n variables: WorkplaceEventSubscriptionVariables,\n requestHeaders?: GraphQLClientRequestHeaders,\n signal?: RequestInit['signal'],\n ): Promise<WorkplaceEventSubscription> {\n return withWrapper(\n (wrappedRequestHeaders) =>\n client.request<WorkplaceEventSubscription>({\n document: WorkplaceEventDocument,\n variables,\n requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders },\n signal,\n }),\n 'workplaceEvent',\n 'subscription',\n variables,\n );\n },\n };\n}\nexport type Sdk = ReturnType<typeof getSdk>;\n","import dayjs from 'dayjs';\n\nimport type { FilterValues } from '../components/DashboardFilters/types';\nimport { DayType } from '../graphql-sdk';\n\nexport const resolveInitialValues = (values?: Partial<FilterValues>): FilterValues | undefined => {\n if (!values) return undefined;\n\n const today = dayjs().format('YYYY-MM-DD');\n\n return {\n dayType: values.dayType ?? DayType.Production,\n dateRange: values.dateRange ?? { from: `${today}T00:00:00`, to: `${today}T23:59:59` },\n shiftIds: values.shiftIds ?? [],\n selectedPeriodId: values.selectedPeriodId,\n };\n};\n","","","import en from './en/translation.json';\nimport pl from './pl/translation.json';\n\nconst resources = {\n en: {\n translation: en,\n },\n pl: {\n translation: pl,\n },\n};\n\nexport default resources;\n","import { SxProps, Theme } from '@mui/material/styles';\n\nconst styles: Record<string, SxProps<Theme>> = {\n dialog: {\n '& .MuiDialog-paper': {\n borderRadius: '6px',\n },\n '& .MuiDialogContent-root': {\n padding: 0,\n },\n },\n};\n\nexport default styles;\n","import React, { useCallback } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport { Button, Dialog, DialogActions, DialogContent, DialogTitle } from '@mui/material';\nimport { AccessBlocker, AccessButton, AccessState, CooldownInfo, FeatureRequestPayload } from 'andoncloud-sdk';\n\nimport styles from './styles';\n\nconst FEATURE_KEY = 'feature.dashboard_extended_date_ranges';\n\nexport type AccessDeniedModalProps = {\n open: boolean;\n onClose: () => void;\n accessState: AccessState;\n buttons: AccessButton[];\n daysSinceExpiry: number | null;\n cooldownInfo: CooldownInfo;\n workplaceId?: string;\n onFeatureRequest?: (payload: FeatureRequestPayload) => Promise<boolean>;\n};\n\nconst AccessDeniedModal: React.FC<AccessDeniedModalProps> = ({\n open,\n onClose,\n accessState,\n buttons,\n daysSinceExpiry,\n cooldownInfo,\n workplaceId,\n onFeatureRequest,\n}) => {\n const handleTrialRequest = useCallback(() => Promise.resolve(false), []);\n\n const handleFeatureRequest = useCallback(\n async (payload: FeatureRequestPayload) => {\n const success = onFeatureRequest ? await onFeatureRequest(payload) : false;\n if (success) {\n onClose();\n }\n return success;\n },\n [onFeatureRequest, onClose],\n );\n\n const { t } = useTranslation();\n\n return (\n <Dialog open={open} onClose={onClose} sx={styles.dialog} data-testid=\"dashboard-filters.access-denied-dialog\">\n <DialogTitle>{t('dashboardFilters.accessDenied.title')}</DialogTitle>\n <DialogContent>\n <AccessBlocker\n accessState={accessState}\n buttons={buttons}\n daysSinceExpiry={daysSinceExpiry ?? undefined}\n featureKey={FEATURE_KEY}\n workplaceId={workplaceId}\n cooldownInfo={cooldownInfo}\n onTrialRequest={handleTrialRequest}\n onFeatureRequest={handleFeatureRequest}\n />\n <DialogActions>\n <Button onClick={onClose}>{t('dashboardFilters.accessDenied.close')}</Button>\n </DialogActions>\n </DialogContent>\n </Dialog>\n );\n};\n\nexport default AccessDeniedModal;\n","import { SxProps, Theme } from '@mui/material/styles';\n\nconst styles: Record<string, SxProps<Theme>> = {\n container: {\n display: 'flex',\n alignItems: 'center',\n gap: (theme) => theme.spacing(1),\n },\n label: {\n fontSize: '0.875rem',\n whiteSpace: 'nowrap',\n color: (theme) => theme.palette.common.white,\n },\n toggleGroup: {\n '& .MuiToggleButton-root': {\n padding: (theme) => theme.spacing(0.5, 1.5),\n fontSize: '0.875rem',\n opacity: 0.7,\n color: (theme) => theme.palette.text.primary,\n textTransform: 'none',\n borderRadius: '6px',\n '&.Mui-selected': {\n opacity: 1,\n color: (theme) => theme.palette.common.white,\n backgroundColor: (theme) => theme.palette.primary.main,\n '&:hover': {\n backgroundColor: (theme) => theme.palette.primary.dark,\n },\n },\n },\n },\n};\n\nexport default styles;\n","import React, { useCallback } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport { Box, ToggleButton, ToggleButtonGroup, Typography } from '@mui/material';\n\nimport { DayType } from '../../../graphql-sdk';\n\nimport styles from './styles';\n\nexport type DayTypeSelectorProps = {\n value: DayType;\n onChange: (value: DayType) => void;\n};\n\nconst DayTypeSelector: React.FC<DayTypeSelectorProps> = ({ value, onChange }) => {\n const { t } = useTranslation();\n\n const handleChange = useCallback(\n (_event: React.MouseEvent<HTMLElement>, newValue: DayType | null) => {\n if (newValue !== null) {\n onChange(newValue);\n }\n },\n [onChange],\n );\n\n return (\n <Box sx={styles.container}>\n <Typography sx={styles.label}>{t('dashboardFilters.dayType.label')}</Typography>\n <ToggleButtonGroup\n value={value}\n exclusive\n onChange={handleChange}\n size=\"small\"\n sx={styles.toggleGroup}\n data-testid=\"dashboard-filters.day-type-selector\"\n >\n <ToggleButton value={DayType.Calendar} data-testid=\"dashboard-filters.day-type-calendar\">\n {t('dashboardFilters.dayType.calendar')}\n </ToggleButton>\n <ToggleButton value={DayType.Production} data-testid=\"dashboard-filters.day-type-production\">\n {t('dashboardFilters.dayType.production')}\n </ToggleButton>\n </ToggleButtonGroup>\n </Box>\n );\n};\n\nexport default DayTypeSelector;\n","import dayjs, { Dayjs } from 'dayjs';\n\nimport { Shift } from '../graphql-sdk';\n\nexport interface NormalizedShift {\n id: string;\n name: string;\n startedAt: Dayjs;\n finishedAt: Dayjs;\n}\n\nconst setDate = (date: Dayjs, shiftDate: Dayjs): Dayjs => {\n return shiftDate.year(date.year()).month(date.month()).date(date.date());\n};\n\nexport const normalizeShifts = (shifts: Shift[], date: Dayjs) => {\n const normalizedShifts: NormalizedShift[] = [];\n\n shifts.forEach((shift) => {\n let startedAt = dayjs(shift.startedAt);\n let finishedAt = dayjs(shift.finishedAt);\n\n startedAt = setDate(date, startedAt);\n finishedAt = setDate(date, finishedAt);\n\n if (startedAt.isAfter(finishedAt)) {\n const prevDayStartedAt = startedAt.subtract(1, 'day');\n const nextDayFinishedAt = finishedAt.add(1, 'day');\n\n normalizedShifts.push({ id: shift.id, name: shift.name, startedAt: prevDayStartedAt, finishedAt });\n normalizedShifts.push({ id: shift.id, name: shift.name, startedAt, finishedAt: nextDayFinishedAt });\n } else {\n normalizedShifts.push({ id: shift.id, name: shift.name, startedAt, finishedAt });\n }\n });\n return normalizedShifts;\n};\n\nexport const getCurrentShift = (date: Dayjs, shifts: NormalizedShift[]) => {\n return (\n shifts.find((shift) => {\n return !date.isBefore(shift.startedAt) && date.isBefore(shift.finishedAt);\n }) || null\n );\n};\n\nexport const getRecentShift = (date: Dayjs, shifts: NormalizedShift[]) => {\n if (shifts.length) {\n return shifts.reduce((previous, current) => {\n return Math.abs(date.diff(current.finishedAt)) < Math.abs(date.diff(previous.finishedAt)) ? current : previous;\n });\n }\n return null;\n};\n","import dayjs, { Dayjs } from 'dayjs';\nimport isoWeek from 'dayjs/plugin/isoWeek';\nimport quarterOfYear from 'dayjs/plugin/quarterOfYear';\n\nimport type { CalculateContext, DateRange, PeriodDefinition, PeriodId } from '../components/DashboardFilters/types';\nimport { DayType, Shift } from '../graphql-sdk';\n\nimport { getCurrentShift, getRecentShift, NormalizedShift, normalizeShifts } from './shifts';\n\ndayjs.extend(isoWeek);\ndayjs.extend(quarterOfYear);\n\ntype TimeBoundaries = {\n startTime: string; // HH:mm:ss\n endTime: string; // HH:mm:ss\n crossesMidnight: boolean;\n};\n\nconst parseShiftTime = (timeStr: string): string => {\n // Shift time format: \"2000-01-01 06:00:00 +0100\" or similar\n // Extract just the time part HH:mm:ss\n const match = timeStr.match(/(\\d{2}:\\d{2}:\\d{2})/);\n return match ? match[1] : '00:00:00';\n};\n\nconst timeToMinutes = (time: string): number => {\n const [hours, minutes] = time.split(':').map(Number);\n return hours * 60 + minutes;\n};\n\nconst getTimeBoundaries = (shifts: Shift[], selectedShiftIds: string[]): TimeBoundaries => {\n const relevantShifts = selectedShiftIds.length === 0 ? shifts : shifts.filter((s) => selectedShiftIds.includes(s.id));\n\n if (relevantShifts.length === 0) {\n return { startTime: '00:00:00', endTime: '23:59:59', crossesMidnight: false };\n }\n\n const shiftTimes = relevantShifts.map((s) => ({\n start: parseShiftTime(s.startedAt),\n end: parseShiftTime(s.finishedAt),\n }));\n\n // Sort by start time\n shiftTimes.sort((a, b) => timeToMinutes(a.start) - timeToMinutes(b.start));\n\n const startTime = shiftTimes[0].start;\n const endTime = shiftTimes[shiftTimes.length - 1].end;\n\n // Check if crosses midnight:\n // - end time < start time (e.g., 06:00 < 22:00 for night shift only)\n // - end time <= start time when any shift crosses midnight (e.g., 06:00 <= 06:00 for 24h operation)\n const anyShiftCrossesMidnight = shiftTimes.some((s) => timeToMinutes(s.end) < timeToMinutes(s.start));\n const crossesMidnight = timeToMinutes(endTime) <= timeToMinutes(startTime) && anyShiftCrossesMidnight;\n\n return { startTime, endTime, crossesMidnight };\n};\n\nconst formatDateTime = (date: Dayjs, time: string): string => {\n const [hours, minutes, seconds] = time.split(':').map(Number);\n return date\n .hour(hours)\n .minute(minutes)\n .second(seconds || 0)\n .format('YYYY-MM-DDTHH:mm:ss');\n};\n\nconst createDateRange = (startDate: Dayjs, endDate: Dayjs, dayType: DayType, boundaries: TimeBoundaries): DateRange => {\n if (dayType === DayType.Calendar) {\n return {\n from: formatDateTime(startDate, '00:00:00'),\n to: formatDateTime(endDate, '23:59:59'),\n };\n }\n\n // PRODUCTION mode\n const from = formatDateTime(startDate, boundaries.startTime);\n let to: string;\n\n if (boundaries.crossesMidnight) {\n // End time is on the next day\n to = formatDateTime(endDate.add(1, 'day'), boundaries.endTime);\n } else {\n to = formatDateTime(endDate, boundaries.endTime);\n }\n\n return { from, to };\n};\n\nconst createPeriodCalculator =\n (getDateRange: (now: Dayjs) => { start: Dayjs; end: Dayjs }) =>\n (ctx: CalculateContext): DateRange => {\n const now = dayjs();\n const { start, end } = getDateRange(now);\n const boundaries = getTimeBoundaries(ctx.shifts, ctx.selectedShiftIds);\n return createDateRange(start, end, ctx.dayType, boundaries);\n };\n\nconst findTargetShift = (shifts: Shift[], mode: 'current' | 'last'): NormalizedShift | null => {\n const now = dayjs();\n if (!shifts?.length) return null;\n\n const normalized = normalizeShifts(shifts, now);\n const current = getCurrentShift(now, normalized) ?? getRecentShift(now, normalized);\n if (!current) return null;\n\n if (mode === 'current') return current;\n\n // mode === 'last': find the shift ending just before current.startedAt\n const previous = normalized\n .filter((s) => s.finishedAt.isBefore(current.startedAt) || s.finishedAt.isSame(current.startedAt))\n .sort((a, b) => b.finishedAt.diff(a.finishedAt))[0];\n\n return previous ?? current; // fallback if only one shift\n};\n\nconst calculateShiftPeriod = (ctx: CalculateContext, mode: 'current' | 'last'): DateRange => {\n const target = findTargetShift(ctx.shifts, mode);\n\n if (!target) {\n const today = dayjs().format('YYYY-MM-DD');\n return { from: `${today}T00:00:00`, to: `${today}T23:59:59` };\n }\n\n return {\n from: target.startedAt.format('YYYY-MM-DDTHH:mm:ss'),\n to: target.finishedAt.format('YYYY-MM-DDTHH:mm:ss'),\n };\n};\n\nexport const resolveShiftIdForPeriod = (periodId: PeriodId, shifts: Shift[]): string | null => {\n if (periodId !== 'current_shift' && periodId !== 'last_shift') return null;\n const mode = periodId === 'current_shift' ? 'current' : 'last';\n const target = findTargetShift(shifts, mode);\n return target?.id ?? null;\n};\n\nexport const periods: PeriodDefinition[] = [\n // Shift-based periods\n {\n id: 'current_shift',\n labelKey: 'dashboardFilters.periods.currentShift',\n needAccess: false,\n category: 'shift_based',\n calculate: (ctx) => calculateShiftPeriod(ctx, 'current'),\n },\n {\n id: 'last_shift',\n labelKey: 'dashboardFilters.periods.lastShift',\n needAccess: false,\n category: 'shift_based',\n calculate: (ctx) => calculateShiftPeriod(ctx, 'last'),\n },\n\n // Relative days\n {\n id: 'today',\n labelKey: 'dashboardFilters.periods.today',\n needAccess: false,\n category: 'relative_days',\n calculate: createPeriodCalculator((now) => ({ start: now, end: now })),\n },\n {\n id: 'yesterday',\n labelKey: 'dashboardFilters.periods.yesterday',\n needAccess: false,\n category: 'relative_days',\n calculate: createPeriodCalculator((now) => {\n const yesterday = now.subtract(1, 'day');\n return { start: yesterday, end: yesterday };\n }),\n },\n\n // Rolling periods (free)\n {\n id: 'last_7_days',\n labelKey: 'dashboardFilters.periods.last7Days',\n needAccess: false,\n category: 'rolling',\n calculate: createPeriodCalculator((now) => ({ start: now.subtract(6, 'day'), end: now })),\n },\n {\n id: 'last_14_days',\n labelKey: 'dashboardFilters.periods.last14Days',\n needAccess: false,\n category: 'rolling',\n calculate: createPeriodCalculator((now) => ({ start: now.subtract(13, 'day'), end: now })),\n },\n {\n id: 'last_30_days',\n labelKey: 'dashboardFilters.periods.last30Days',\n needAccess: false,\n category: 'rolling',\n calculate: createPeriodCalculator((now) => ({ start: now.subtract(29, 'day'), end: now })),\n },\n\n // Rolling periods (premium)\n {\n id: 'last_90_days',\n labelKey: 'dashboardFilters.periods.last90Days',\n needAccess: true,\n category: 'rolling',\n calculate: createPeriodCalculator((now) => ({ start: now.subtract(89, 'day'), end: now })),\n },\n {\n id: 'last_180_days',\n labelKey: 'dashboardFilters.periods.last180Days',\n needAccess: true,\n category: 'rolling',\n calculate: createPeriodCalculator((now) => ({ start: now.subtract(179, 'day'), end: now })),\n },\n {\n id: 'last_365_days',\n labelKey: 'dashboardFilters.periods.last365Days',\n needAccess: true,\n category: 'rolling',\n calculate: createPeriodCalculator((now) => ({ start: now.subtract(364, 'day'), end: now })),\n },\n\n // Current periods\n {\n id: 'current_week',\n labelKey: 'dashboardFilters.periods.currentWeek',\n needAccess: false,\n category: 'current',\n calculate: createPeriodCalculator((now) => ({ start: now.startOf('isoWeek'), end: now })),\n },\n {\n id: 'current_month',\n labelKey: 'dashboardFilters.periods.currentMonth',\n needAccess: false,\n category: 'current',\n calculate: createPeriodCalculator((now) => ({ start: now.startOf('month'), end: now })),\n },\n {\n id: 'current_quarter',\n labelKey: 'dashboardFilters.periods.currentQuarter',\n needAccess: true,\n category: 'current',\n calculate: createPeriodCalculator((now) => ({ start: now.startOf('quarter'), end: now })),\n },\n {\n id: 'current_year',\n labelKey: 'dashboardFilters.periods.currentYear',\n needAccess: true,\n category: 'current',\n calculate: createPeriodCalculator((now) => ({ start: now.startOf('year'), end: now })),\n },\n\n // Previous periods\n {\n id: 'previous_week',\n labelKey: 'dashboardFilters.periods.previousWeek',\n needAccess: false,\n category: 'previous',\n calculate: createPeriodCalculator((now) => {\n const prevWeek = now.subtract(1, 'week');\n return { start: prevWeek.startOf('isoWeek'), end: prevWeek.endOf('isoWeek') };\n }),\n },\n {\n id: 'previous_month',\n labelKey: 'dashboardFilters.periods.previousMonth',\n needAccess: true,\n category: 'previous',\n calculate: createPeriodCalculator((now) => {\n const prevMonth = now.subtract(1, 'month');\n return { start: prevMonth.startOf('month'), end: prevMonth.endOf('month') };\n }),\n },\n {\n id: 'previous_quarter',\n labelKey: 'dashboardFilters.periods.previousQuarter',\n needAccess: true,\n category: 'previous',\n calculate: createPeriodCalculator((now) => {\n const prevQuarter = now.subtract(1, 'quarter');\n return { start: prevQuarter.startOf('quarter'), end: prevQuarter.endOf('quarter') };\n }),\n },\n {\n id: 'previous_year',\n labelKey: 'dashboardFilters.periods.previousYear',\n needAccess: true,\n category: 'previous',\n calculate: createPeriodCalculator((now) => {\n const prevYear = now.subtract(1, 'year');\n return { start: prevYear.startOf('year'), end: prevYear.endOf('year') };\n }),\n },\n\n // Calendar weeks\n {\n id: 'last_2_weeks',\n labelKey: 'dashboardFilters.periods.last2Weeks',\n needAccess: false,\n category: 'calendar_weeks',\n calculate: createPeriodCalculator((now) => ({\n start: now.subtract(2, 'week').startOf('isoWeek'),\n end: now.endOf('isoWeek'),\n })),\n },\n {\n id: 'last_4_weeks',\n labelKey: 'dashboardFilters.periods.last4Weeks',\n needAccess: false,\n category: 'calendar_weeks',\n calculate: createPeriodCalculator((now) => ({\n start: now.subtract(4, 'week').startOf('isoWeek'),\n end: now.endOf('isoWeek'),\n })),\n },\n {\n id: 'last_8_weeks',\n labelKey: 'dashboardFilters.periods.last8Weeks',\n needAccess: true,\n category: 'calendar_weeks',\n calculate: createPeriodCalculator((now) => ({\n start: now.subtract(8, 'week').startOf('isoWeek'),\n end: now.endOf('isoWeek'),\n })),\n },\n {\n id: 'last_12_weeks',\n labelKey: 'dashboardFilters.periods.last12Weeks',\n needAccess: true,\n category: 'calendar_weeks',\n calculate: createPeriodCalculator((now) => ({\n start: now.subtract(12, 'week').startOf('isoWeek'),\n end: now.endOf('isoWeek'),\n })),\n },\n\n // Fiscal periods\n {\n id: 'last_3_months',\n labelKey: 'dashboardFilters.periods.last3Months',\n needAccess: true,\n category: 'fiscal',\n calculate: createPeriodCalculator((now) => ({\n start: now.subtract(3, 'month').startOf('month'),\n end: now.endOf('month'),\n })),\n },\n {\n id: 'last_6_months',\n labelKey: 'dashboardFilters.periods.last6Months',\n needAccess: true,\n category: 'fiscal',\n calculate: createPeriodCalculator((now) => ({\n start: now.subtract(6, 'month').startOf('month'),\n end: now.endOf('month'),\n })),\n },\n {\n id: 'last_12_months',\n labelKey: 'dashboardFilters.periods.last12Months',\n needAccess: true,\n category: 'fiscal',\n calculate: createPeriodCalculator((now) => ({\n start: now.subtract(12, 'month').startOf('month'),\n end: now.endOf('month'),\n })),\n },\n\n // Individual weeks (1-52) for current year\n ...Array.from({ length: 52 }, (_, i) => {\n const weekNumber = i + 1;\n return {\n id: `week_${weekNumber}`,\n labelKey: `dashboardFilters.periods.week`,\n labelParams: { week: weekNumber },\n needAccess: false,\n category: 'weeks',\n calculate: createPeriodCalculator((now) => {\n const year = now.year();\n const weekStart = dayjs().year(year).isoWeek(weekNumber).startOf('isoWeek');\n const weekEnd = weekStart.endOf('isoWeek');\n return { start: weekStart, end: weekEnd };\n }),\n } as PeriodDefinition;\n }),\n];\n\nexport const findPeriodById = (id: string): PeriodDefinition | undefined => {\n return periods.find((p) => p.id === id);\n};\n\nexport const getTimeRangeLabel = (shifts: Shift[], selectedShiftIds: string[]): string | null => {\n if (shifts.length === 0) return null;\n\n const boundaries = getTimeBoundaries(shifts, selectedShiftIds);\n const startFormatted = boundaries.startTime.slice(0, 5);\n const endFormatted = boundaries.endTime.slice(0, 5);\n\n return `${startFormatted} - ${endFormatted}`;\n};\n\nexport const getShiftTimeRange = (shift: Shift): string => {\n const startFormatted = parseShiftTime(shift.startedAt).slice(0, 5);\n const endFormatted = parseShiftTime(shift.finishedAt).slice(0, 5);\n return `${startFormatted} - ${endFormatted}`;\n};\n\nconst getNextMidnight = (ctx: CalculateContext): Date => {\n if (ctx.dayType === DayType.Production && ctx.shifts.length > 0) {\n const boundaries = getTimeBoundaries(ctx.shifts, ctx.selectedShiftIds);\n const [h, m, s] = boundaries.startTime.split(':').map(Number);\n const next = dayjs()\n .add(1, 'day')\n .hour(h)\n .minute(m)\n .second(s || 0)\n .millisecond(0);\n return next.toDate();\n }\n return dayjs().add(1, 'day').startOf('day').toDate();\n};\n\nconst getNextShiftBoundary = (ctx: CalculateContext): Date | null => {\n if (ctx.shifts.length === 0) return null;\n\n const now = dayjs();\n const normalized = normalizeShifts(ctx.shifts, now);\n const current = getCurrentShift(now, normalized);\n\n if (current) {\n return current.finishedAt.toDate();\n }\n\n const upcoming = normalized.filter((s) => s.startedAt.isAfter(now)).sort((a, b) => a.startedAt.diff(b.startedAt));\n\n return upcoming.length > 0 ? upcoming[0].startedAt.toDate() : null;\n};\n\nexport const getNextBoundary = (periodId: PeriodId, ctx: CalculateContext): Date | null => {\n switch (periodId) {\n case 'today':\n case 'yesterday':\n return getNextMidnight(ctx);\n\n case 'current_shift':\n case 'last_shift':\n return getNextShiftBoundary(ctx);\n\n case 'current_week':\n case 'previous_week':\n return dayjs().add(1, 'week').startOf('isoWeek').toDate();\n\n case 'current_month':\n case 'previous_month':\n return dayjs().add(1, 'month').startOf('month').toDate();\n\n case 'current_quarter':\n case 'previous_quarter':\n return dayjs().add(1, 'quarter').startOf('quarter').toDate();\n\n case 'current_year':\n case 'previous_year':\n return dayjs().add(1, 'year').startOf('year').toDate();\n\n default: {\n if (periodId.startsWith('last_') && periodId.endsWith('_days')) {\n return getNextMidnight(ctx);\n }\n if (periodId.startsWith('last_') && periodId.endsWith('_weeks')) {\n return dayjs().add(1, 'week').startOf('isoWeek').toDate();\n }\n if (periodId.startsWith('last_') && periodId.endsWith('_months')) {\n return dayjs().add(1, 'month').startOf('month').toDate();\n }\n // week_N — specific calendar week, no auto-refresh\n return null;\n }\n }\n};\n","import { SxProps, Theme } from '@mui/material/styles';\n\nconst styles: Record<string, SxProps<Theme>> = {\n container: {\n display: 'flex',\n flexDirection: 'column',\n height: '100%',\n },\n searchField: {\n marginTop: (theme) => theme.spacing(2),\n marginBottom: (theme) => theme.spacing(1),\n '& .MuiInputAdornment-root': {\n color: (theme) => theme.palette.text.primary,\n },\n },\n list: {\n flexGrow: 1,\n overflow: 'auto',\n padding: 0,\n },\n listItem: {\n cursor: 'pointer',\n padding: (theme) => theme.spacing(1, 1.5),\n borderRadius: '6px',\n '&:hover': {\n background: 'rgba(255, 255, 255, 0.1)',\n },\n '&.Mui-selected': {\n background: 'rgba(255, 255, 255, 0.15)',\n },\n '& .MuiListItemText-primary': {\n fontSize: '0.875rem',\n },\n '& .MuiListItemText-secondary': {\n opacity: 0.7,\n fontSize: '0.75rem',\n color: (theme) => theme.palette.text.primary,\n },\n },\n premiumChip: {\n marginLeft: (theme) => theme.spacing(1),\n '& .MuiChip-icon': {\n marginLeft: (theme) => theme.spacing(0.5),\n },\n },\n noResults: {\n padding: (theme) => theme.spacing(2),\n opacity: 0.6,\n textAlign: 'center',\n },\n};\n\nexport default styles;\n","import React, { useCallback, useMemo, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport LockIcon from '@mui/icons-material/Lock';\nimport SearchIcon from '@mui/icons-material/Search';\nimport { Box, Chip, InputAdornment, List, ListItemButton, ListItemText, TextField } from '@mui/material';\nimport dayjs from 'dayjs';\n\nimport { DayType, Shift } from '../../../graphql-sdk';\nimport { getTimeRangeLabel, periods } from '../../../helpers/periods';\nimport { getCurrentShift, getRecentShift, normalizeShifts } from '../../../helpers/shifts';\nimport type { DateRange, PeriodDefinition, PeriodId } from '../types';\n\nimport styles from './styles';\n\nexport type PeriodListProps = {\n dayType: DayType;\n shifts: Shift[];\n selectedShiftIds: string[];\n selectedPeriodId?: PeriodId;\n hasAccess: boolean;\n onPeriodSelect: (period: PeriodDefinition, dateRange: DateRange) => void;\n};\n\nconst PeriodList: React.FC<PeriodListProps> = ({\n dayType,\n shifts,\n selectedShiftIds,\n selectedPeriodId,\n hasAccess,\n onPeriodSelect,\n}) => {\n const { t } = useTranslation();\n const [searchQuery, setSearchQuery] = useState('');\n const [debouncedQuery, setDebouncedQuery] = useState('');\n const debounceRef = React.useRef<NodeJS.Timeout | null>(null);\n\n const handleSearchChange = useCallback((e: React.ChangeEvent<HTMLInputElement>) => {\n const value = e.target.value;\n setSearchQuery(value);\n\n if (debounceRef.current) {\n clearTimeout(debounceRef.current);\n }\n\n debounceRef.current = setTimeout(() => {\n setDebouncedQuery(value);\n }, 300);\n }, []);\n\n const timeRangeLabel = useMemo(() => {\n if (dayType !== DayType.Production || shifts.length === 0) {\n return null;\n }\n return getTimeRangeLabel(shifts, selectedShiftIds);\n }, [dayType, shifts, selectedShiftIds]);\n\n const getPeriodLabel = useCallback(\n (period: PeriodDefinition) => {\n return t(period.labelKey, period.labelParams);\n },\n [t],\n );\n\n const shiftLabels = useMemo(() => {\n if (shifts.length === 0) return {};\n\n const now = dayjs();\n const normalized = normalizeShifts(shifts, now);\n const current = getCurrentShift(now, normalized) ?? getRecentShift(now, normalized);\n if (!current) return {};\n\n const currentLabel = `${current.startedAt.format('HH:mm')} - ${current.finishedAt.format('HH:mm')}`;\n\n const previous = normalized\n .filter((s) => s.finishedAt.isBefore(current.startedAt) || s.finishedAt.isSame(current.startedAt))\n .sort((a, b) => b.finishedAt.diff(a.finishedAt))[0];\n\n const target = previous ?? current;\n const lastLabel = `${target.startedAt.format('HH:mm')} - ${target.finishedAt.format('HH:mm')}`;\n\n return { current_shift: currentLabel, last_shift: lastLabel } as Record<string, string>;\n }, [shifts]);\n\n const filteredPeriods = useMemo(() => {\n let available = periods.filter((period) => {\n if (period.category === 'shift_based' && dayType === DayType.Calendar) return false;\n return true;\n });\n\n if (debouncedQuery.trim()) {\n const query = debouncedQuery.toLowerCase().trim();\n available = available.filter((period) => {\n const label = getPeriodLabel(period).toLowerCase();\n return label.includes(query);\n });\n }\n\n return available;\n }, [debouncedQuery, getPeriodLabel, dayType]);\n\n const handlePeriodClick = useCallback(\n (period: PeriodDefinition) => {\n const dateRange = period.calculate({\n dayType,\n shifts,\n selectedShiftIds,\n });\n onPeriodSelect(period, dateRange);\n },\n [dayType, shifts, selectedShiftIds, onPeriodSelect],\n );\n\n const showLockIcon = (period: PeriodDefinition) => !hasAccess && period.needAccess;\n\n return (\n <Box sx={styles.container} data-testid=\"dashboard-filters.period-list\">\n <TextField\n size=\"small\"\n label={t('dashboardFilters.search.placeholder')}\n value={searchQuery}\n onChange={handleSearchChange}\n sx={styles.searchField}\n InputProps={{\n startAdornment: (\n <InputAdornment position=\"start\">\n <SearchIcon fontSize=\"small\" />\n </InputAdornment>\n ),\n }}\n data-testid=\"dashboard-filters.period-search\"\n />\n\n <List sx={styles.list}>\n {filteredPeriods.length === 0 ? (\n <ListItemText sx={styles.noResults} primary={t('dashboardFilters.search.noResults')} />\n ) : (\n filteredPeriods.map((period) => (\n <ListItemButton\n key={period.id}\n selected={period.id === selectedPeriodId}\n onClick={() => handlePeriodClick(period)}\n sx={styles.listItem}\n data-testid={`dashboard-filters.period-item-${period.id}`}\n >\n <ListItemText\n primary={getPeriodLabel(period)}\n secondary={\n period.category === 'shift_based'\n ? shiftLabels[period.id]\n ? `(${shiftLabels[period.id]})`\n : undefined\n : timeRangeLabel\n ? `(${timeRangeLabel})`\n : undefined\n }\n />\n\n {showLockIcon(period) && (\n <Chip\n icon={<LockIcon />}\n label={t('dashboardFilters.premium.indicator')}\n size=\"small\"\n color=\"warning\"\n variant=\"outlined\"\n sx={styles.premiumChip}\n data-testid=\"dashboard-filters.premium-chip\"\n />\n )}\n </ListItemButton>\n ))\n )}\n </List>\n </Box>\n );\n};\n\nexport default PeriodList;\n","import { SxProps, Theme } from '@mui/material/styles';\n\nconst styles: Record<string, SxProps<Theme>> = {\n container: {\n display: 'flex',\n gap: (theme) => theme.spacing(2),\n },\n leftPanel: {\n flexBasis: 280,\n flexShrink: 0,\n height: 360,\n },\n rightPanel: {\n display: 'flex',\n flexDirection: 'column',\n flexBasis: 320,\n flexShrink: 0,\n gap: (theme) => theme.spacing(2),\n },\n dateInputs: {\n display: 'flex',\n gap: (theme) => theme.spacing(2),\n },\n dateField: {\n flexGrow: 1,\n },\n calendarContainer: {\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'flex-start',\n },\n calendar: {\n '& .MuiPickersCalendarHeader-label': {\n color: (theme) => theme.palette.text.primary,\n },\n '& .MuiPickersCalendarHeader-switchViewButton': {\n color: (theme) => theme.palette.text.primary,\n },\n '& .MuiPickersArrowSwitcher-button': {\n opacity: 0.7,\n color: (theme) => theme.palette.text.primary,\n '&.Mui-disabled': {\n color: (theme) => theme.palette.gray.light,\n },\n },\n '& .MuiDayCalendar-weekDayLabel': {\n color: (theme) => theme.palette.text.primary,\n },\n '& .MuiPickersDay-root': {\n color: (theme) => theme.palette.text.primary,\n '&:not(.Mui-selected)': {\n border: 'none',\n },\n '&.Mui-disabled:not(.Mui-selected)': {\n opacity: 0.3,\n color: (theme) => theme.palette.text.primary,\n },\n },\n },\n rangeDay: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n },\n rangeDayInRange: {\n backgroundColor: (theme) => theme.palette.primary.main,\n },\n rangeDayStart: {\n backgroundColor: (theme) => theme.palette.primary.main,\n borderTopLeftRadius: 17,\n borderBottomLeftRadius: 17,\n },\n rangeDayEnd: {\n backgroundColor: (theme) => theme.palette.primary.main,\n borderTopRightRadius: 17,\n borderBottomRightRadius: 17,\n },\n};\n\nexport default styles;\n","import 'dayjs/locale/pl';\n\nimport React, { useCallback, useMemo, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport { Box, TextField } from '@mui/material';\nimport { AdapterDayjs } from '@mui/x-date-pickers/AdapterDayjs';\nimport { DateCalendar } from '@mui/x-date-pickers/DateCalendar';\nimport { LocalizationProvider } from '@mui/x-date-pickers/LocalizationProvider';\nimport { PickersDay, PickersDayProps } from '@mui/x-date-pickers/PickersDay';\nimport dayjs, { Dayjs } from 'dayjs';\nimport isBetween from 'dayjs/plugin/isBetween';\nimport { mergeSx } from 'merge-sx';\n\nimport { DayType, Shift } from '../../../graphql-sdk';\nimport { ACCESS_LIMIT_DAYS, MAX_RANGE_DAYS } from '../constants';\nimport DayTypeSelector from '../DayTypeSelector';\nimport PeriodList from '../PeriodList';\nimport type { DateRange, PeriodDefinition, PeriodId } from '../types';\n\nimport styles from './styles';\n\ndayjs.extend(isBetween);\n\ntype RangeDayProps = PickersDayProps & {\n fromDate: Dayjs;\n toDate: Dayjs;\n};\n\nconst RangeDay: React.FC<RangeDayProps> = ({ fromDate, toDate, day, ...other }) => {\n const dayDate = day as Dayjs;\n const isInRange = dayDate.isBetween(fromDate, toDate, 'day', '[]');\n const isStart = dayDate.isSame(fromDate, 'day');\n const isEnd = dayDate.isSame(toDate, 'day');\n const isSingleDay = isStart && isEnd;\n\n return (\n <Box\n sx={mergeSx(\n styles.rangeDay,\n isInRange && !isSingleDay && styles.rangeDayInRange,\n isStart && !isSingleDay && styles.rangeDayStart,\n isEnd && !isSingleDay && styles.rangeDayEnd,\n )}\n >\n <PickersDay day={day} {...other} />\n </Box>\n );\n};\n\nexport type DateRangePickerProps = {\n dateRange: DateRange;\n dayType: DayType;\n shifts: Shift[];\n selectedShiftIds: string[];\n hasAccess: boolean;\n selectedPeriodId?: PeriodId;\n onDayTypeChange: (dayType: DayType) => void;\n onDateRangeChange: (dateRange: DateRange) => void;\n onPeriodSelect: (period: PeriodDefinition, dateRange: DateRange) => void;\n onAccessDenied: () => void;\n};\n\ntype ActiveField = 'from' | 'to' | null;\n\nconst DateRangePicker: React.FC<DateRangePickerProps> = ({\n dateRange,\n dayType,\n shifts,\n selectedShiftIds,\n hasAccess,\n selectedPeriodId,\n onDayTypeChange,\n onDateRangeChange,\n onPeriodSelect,\n}) => {\n const { t, i18n } = useTranslation();\n const [activeField, setActiveField] = useState<ActiveField>('from');\n\n const fromDate = dayjs(dateRange.from);\n const toDate = dayjs(dateRange.to);\n const today = dayjs();\n const accessLimitDate = today.subtract(ACCESS_LIMIT_DAYS, 'day');\n const maxRangeDate = today.subtract(MAX_RANGE_DAYS, 'day');\n const minDate = hasAccess ? maxRangeDate : accessLimitDate;\n\n const handleCalendarChange = useCallback(\n (date: Dayjs | null) => {\n if (!date) return;\n\n const dateStr = date.format('YYYY-MM-DD');\n const newRange = { ...dateRange };\n\n if (activeField === 'from') {\n newRange.from = dateStr + 'T00:00:00';\n if (date.isAfter(dayjs(dateRange.to))) {\n newRange.to = dateStr + 'T23:59:59';\n }\n setActiveField('to');\n } else {\n newRange.to = dateStr + 'T23:59:59';\n if (date.isBefore(dayjs(dateRange.from))) {\n newRange.from = dateStr + 'T00:00:00';\n }\n }\n\n onDateRangeChange(newRange);\n },\n [activeField, dateRange, onDateRangeChange],\n );\n\n const handleFromClick = useCallback(() => {\n setActiveField('from');\n }, []);\n\n const handleToClick = useCallback(() => {\n setActiveField('to');\n }, []);\n\n const calendarValue = activeField === 'from' ? fromDate : toDate;\n\n const slotProps = useMemo(\n () => ({\n day: {\n fromDate,\n toDate,\n } as Partial<RangeDayProps>,\n }),\n [fromDate, toDate],\n );\n\n return (\n <LocalizationProvider dateAdapter={AdapterDayjs} adapterLocale={i18n.language}>\n <Box sx={styles.container}>\n <Box sx={styles.leftPanel}>\n <DayTypeSelector value={dayType} onChange={onDayTypeChange} />\n <PeriodList\n dayType={dayType}\n shifts={shifts}\n selectedShiftIds={selectedShiftIds}\n selectedPeriodId={selectedPeriodId}\n hasAccess={hasAccess}\n onPeriodSelect={onPeriodSelect}\n />\n </Box>\n\n <Box sx={styles.rightPanel}>\n <Box sx={styles.dateInputs}>\n <TextField\n label={t('dashboardFilters.dateRange.from')}\n value={fromDate.format('YYYY-MM-DD')}\n onClick={handleFromClick}\n focused={activeField === 'from'}\n InputProps={{ readOnly: true }}\n size=\"small\"\n sx={styles.dateField}\n data-testid=\"dashboard-filters.date-from\"\n />\n <TextField\n label={t('dashboardFilters.dateRange.to')}\n value={toDate.format('YYYY-MM-DD')}\n onClick={handleToClick}\n focused={activeField === 'to'}\n InputProps={{ readOnly: true }}\n size=\"small\"\n sx={styles.dateField}\n data-testid=\"dashboard-filters.date-to\"\n />\n </Box>\n\n <Box sx={styles.calendarContainer} data-testid=\"dashboard-filters.date-calendar\">\n <DateCalendar\n key={`${dateRange.from}-${dateRange.to}`}\n value={calendarValue}\n onChange={handleCalendarChange}\n minDate={minDate}\n maxDate={today}\n sx={styles.calendar}\n slots={{ day: RangeDay }}\n slotProps={slotProps}\n />\n </Box>\n </Box>\n </Box>\n </LocalizationProvider>\n );\n};\n\nexport default DateRangePicker;\n","import { SxProps, Theme } from '@mui/material/styles';\n\nconst styles: Record<string, SxProps<Theme>> = {\n container: {\n display: 'flex',\n alignItems: 'center',\n gap: (theme) => theme.spacing(1),\n },\n label: {\n fontSize: '0.875rem',\n opacity: 0.8,\n },\n select: {\n minWidth: 200,\n },\n menuItem: {\n padding: (theme) => theme.spacing(0.5, 1),\n },\n listItemText: {\n '& .MuiListItemText-primary': {\n fontSize: '0.875rem',\n },\n '& .MuiListItemText-secondary': {\n opacity: 0.7,\n fontSize: '0.75rem',\n color: (theme) => theme.palette.text.primary,\n },\n },\n};\n\nexport default styles;\n","import React, { useCallback } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport { Box, FormControl, InputLabel, ListItemText, MenuItem, Select, SelectChangeEvent } from '@mui/material';\nimport { Checkbox } from 'andoncloud-sdk';\n\nimport { Shift } from '../../../graphql-sdk';\nimport { getShiftTimeRange } from '../../../helpers/periods';\n\nimport styles from './styles';\n\nexport type ShiftSelectorProps = {\n shifts: Shift[];\n selectedShiftIds: string[];\n onChange: (shiftIds: string[]) => void;\n};\n\nconst ShiftSelector: React.FC<ShiftSelectorProps> = ({ shifts, selectedShiftIds, onChange }) => {\n const { t } = useTranslation();\n\n const handleChange = useCallback(\n (event: SelectChangeEvent<string[]>) => {\n const value = event.target.value;\n onChange(typeof value === 'string' ? value.split(',') : value);\n },\n [onChange],\n );\n\n const renderValue = useCallback(\n (selected: string[]) => {\n if (selected.length === 0) {\n return t('dashboardFilters.shifts.allShifts');\n }\n const selectedNames = shifts.filter((s) => selected.includes(s.id)).map((s) => s.name);\n return selectedNames.join(', ');\n },\n [shifts, t],\n );\n\n return (\n <Box sx={styles.container}>\n <FormControl size=\"small\" sx={styles.select} data-testid=\"dashboard-filters.shift-selector\">\n <InputLabel shrink>{t('dashboardFilters.shifts.label')}</InputLabel>\n <Select<string[]>\n multiple\n displayEmpty\n value={selectedShiftIds}\n onChange={handleChange}\n renderValue={renderValue}\n label={t('dashboardFilters.shifts.label')}\n >\n {shifts.map((shift) => (\n <MenuItem key={shift.id} value={shift.id} sx={styles.menuItem}>\n <Checkbox checked={selectedShiftIds.includes(shift.id)} />\n <ListItemText primary={shift.name} secondary={`(${getShiftTimeRange(shift)})`} sx={styles.listItemText} />\n </MenuItem>\n ))}\n </Select>\n </FormControl>\n </Box>\n );\n};\n\nexport default ShiftSelector;\n","import { useEffect, useMemo, useRef, useState } from 'react';\n\nimport { type Shift, DayType } from '../../graphql-sdk';\nimport { getNextBoundary, periods, resolveShiftIdForPeriod } from '../../helpers/periods';\n\nimport type { CalculateContext, DateRange, FilterValues, PeriodDefinition, PeriodId } from './types';\n\ntype CoreState = {\n dayType: DayType;\n selectedPeriodId?: PeriodId;\n customDateRange: DateRange | null;\n shiftIds: string[];\n};\n\nconst getDefaultDateRange = (): DateRange => {\n const today = new Date().toISOString().slice(0, 10);\n\n return { from: `${today}T00:00:00`, to: `${today}T23:59:59` };\n};\n\nconst buildCoreState = (values: FilterValues | undefined, shifts: Shift[]): CoreState => {\n if (!values) {\n const shiftId = shifts?.length ? resolveShiftIdForPeriod('current_shift', shifts) : null;\n\n return {\n dayType: DayType.Production,\n selectedPeriodId: 'current_shift',\n customDateRange: null,\n shiftIds: shiftId ? [shiftId] : [],\n };\n }\n\n const shiftId =\n values.selectedPeriodId && shifts?.length ? resolveShiftIdForPeriod(values.selectedPeriodId, shifts) : null;\n\n return {\n dayType: values.dayType,\n selectedPeriodId: values.selectedPeriodId,\n customDateRange: values.selectedPeriodId ? null : values.dateRange,\n shiftIds: shiftId ? [shiftId] : values.shiftIds,\n };\n};\n\nconst computeDateRange = (state: CoreState, shifts: Shift[]): DateRange => {\n if (!state.selectedPeriodId) return state.customDateRange ?? getDefaultDateRange();\n\n const period = periods.find((p) => p.id === state.selectedPeriodId);\n if (!period) return state.customDateRange ?? getDefaultDateRange();\n\n return period.calculate({\n dayType: state.dayType,\n shifts,\n selectedShiftIds: state.shiftIds,\n });\n};\n\nexport type DashboardFiltersHandlers = {\n handleDayTypeChange: (dayType: DayType) => void;\n handleShiftChange: (shiftIds: string[]) => void;\n handleDateRangeChange: (dateRange: DateRange) => void;\n handlePeriodSelect: (period: PeriodDefinition, dateRange: DateRange) => void;\n};\n\nexport const useDashboardFilters = (\n savedFilters: FilterValues | undefined,\n shifts: Shift[],\n onChange: (values: FilterValues) => void,\n): { filterValues: FilterValues; selectedPeriodId: PeriodId | undefined; handlers: DashboardFiltersHandlers } => {\n // -- Local state --\n const [state, setState] = useState<CoreState>(() => buildCoreState(savedFilters, shifts));\n const [boundaryTick, setBoundaryTick] = useState(0);\n const onChangeRef = useRef(onChange);\n onChangeRef.current = onChange;\n\n // -- Sync from saved filters --\n useEffect(() => {\n if (!savedFilters) return;\n\n setState((prev) => {\n const next = buildCoreState(savedFilters, shifts);\n\n return JSON.stringify(next) === JSON.stringify(prev) ? prev : next;\n });\n }, [savedFilters, shifts]);\n\n // -- Derived dateRange --\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const dateRange = useMemo(() => computeDateRange(state, shifts), [state, shifts, boundaryTick]);\n\n // -- Composed filter values --\n const filterValues: FilterValues = useMemo(\n () => ({\n dayType: state.dayType,\n selectedPeriodId: state.selectedPeriodId,\n dateRange,\n shiftIds: state.shiftIds,\n }),\n [state.dayType, state.selectedPeriodId, dateRange, state.shiftIds],\n );\n\n // -- Emit onChange on every filterValues change (includes initial) --\n const lastEmittedRef = useRef<string>('');\n\n useEffect(() => {\n const serialized = JSON.stringify(filterValues);\n if (serialized === lastEmittedRef.current) return;\n\n lastEmittedRef.current = serialized;\n onChangeRef.current(filterValues);\n }, [filterValues]);\n\n // -- Boundary detection --\n useEffect(() => {\n if (!state.selectedPeriodId) return;\n\n const ctx: CalculateContext = {\n dayType: state.dayType,\n shifts,\n selectedShiftIds: state.shiftIds,\n };\n\n const boundary = getNextBoundary(state.selectedPeriodId, ctx);\n if (!boundary) return;\n\n const delay = boundary.getTime() - Date.now();\n\n const recalculate = () => {\n const shiftId = resolveShiftIdForPeriod(state.selectedPeriodId!, shifts);\n const newShiftIds = shiftId ? [shiftId] : state.shiftIds;\n\n setState((prev) => ({ ...prev, shiftIds: newShiftIds }));\n setBoundaryTick((n) => n + 1);\n };\n\n if (delay <= 0) {\n recalculate();\n\n return;\n }\n\n const timer = setTimeout(recalculate, delay);\n\n return () => clearTimeout(timer);\n }, [state.selectedPeriodId, state.dayType, state.shiftIds, shifts]);\n\n // -- Handlers --\n const handlers: DashboardFiltersHandlers = useMemo(() => {\n return {\n handleDayTypeChange: (dayType: DayType) => {\n setState((prev) => ({ ...prev, dayType }));\n },\n\n handleShiftChange: (shiftIds: string[]) => {\n setState((prev) => ({ ...prev, shiftIds }));\n },\n\n handleDateRangeChange: (newDateRange: DateRange) => {\n setState((prev) => ({ ...prev, selectedPeriodId: undefined, shiftIds: [], customDateRange: newDateRange }));\n },\n\n handlePeriodSelect: (period: PeriodDefinition, periodDateRange: DateRange) => {\n setState((prev) => {\n const shiftId = resolveShiftIdForPeriod(period.id, shifts);\n const shiftIds = shiftId ? [shiftId] : [];\n\n return { ...prev, selectedPeriodId: period.id, shiftIds, customDateRange: periodDateRange };\n });\n },\n };\n }, [shifts]);\n\n return { filterValues, selectedPeriodId: state.selectedPeriodId, handlers };\n};\n","import { SxProps, Theme } from '@mui/material/styles';\n\nconst styles: Record<string, SxProps<Theme>> = {\n container: {\n display: 'flex',\n flexDirection: 'column',\n gap: (theme) => theme.spacing(2),\n },\n dateField: {\n cursor: 'pointer',\n minWidth: 240,\n '& .MuiInputBase-input': {\n cursor: 'pointer',\n },\n '& .MuiInputAdornment-root': {\n color: (theme) => theme.palette.text.primary,\n },\n },\n popover: {\n '& .MuiPopover-paper': {\n borderRadius: '6px',\n marginTop: (theme) => theme.spacing(1),\n backgroundColor: (theme) => theme.palette.gray.main,\n },\n },\n popoverContent: {\n display: 'flex',\n flexDirection: 'column',\n gap: (theme) => theme.spacing(2),\n padding: (theme) => theme.spacing(2),\n },\n};\n\nexport default styles;\n","import React, { useCallback, useMemo, useRef, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport CalendarTodayIcon from '@mui/icons-material/CalendarToday';\nimport { Box, InputAdornment, Popover, Stack, TextField } from '@mui/material';\nimport { registerTranslations, useAccess } from 'andoncloud-sdk';\nimport dayjs from 'dayjs';\n\nimport { resolveInitialValues } from '@/helpers/filters';\nimport locales from '@/locales';\n\nimport AccessDeniedModal from './AccessDeniedModal';\nimport DateRangePicker from './DateRangePicker';\nimport ShiftSelector from './ShiftSelector';\nimport type { DashboardFiltersProps, DateRange, PeriodDefinition } from './types';\nimport { useDashboardFilters } from './useDashboardFilters';\n\nimport styles from './styles';\n\nconst FEATURE_KEY = 'feature.dashboard_extended_date_ranges';\n\nconst DashboardFilters: React.FC<DashboardFiltersProps> = ({\n initialValues,\n onChange,\n shifts = [],\n onFeatureRequest,\n}) => {\n // -- SDK / framework hooks --\n const { hasAccess, accessState, buttons, cooldownInfo, features } = useAccess([FEATURE_KEY]);\n\n // -- Local state --\n const [accessModalOpen, setAccessModalOpen] = useState(false);\n const [popoverOpen, setPopoverOpen] = useState(false);\n const dateFieldRef = useRef<HTMLDivElement>(null);\n\n // -- Data layer --\n const { filterValues, selectedPeriodId, handlers } = useDashboardFilters(\n resolveInitialValues(initialValues),\n shifts,\n onChange,\n );\n\n // -- Translation --\n const { t } = useTranslation();\n registerTranslations(locales);\n\n // derived\n const daysSinceExpiry = useMemo(() => {\n const feature = features.find((f) => f.featureKey === FEATURE_KEY);\n\n return feature?.daysSinceExpiry ?? null;\n }, [features]);\n\n const filteredButtons = useMemo(() => buttons.filter((b) => b.action !== 'start_trial'), [buttons]);\n\n // handlers\n const handlePeriodSelect = useCallback(\n (period: PeriodDefinition, dateRange: DateRange) => {\n if (period.needAccess && !hasAccess) {\n setAccessModalOpen(true);\n\n return;\n }\n\n handlers.handlePeriodSelect(period, dateRange);\n },\n [hasAccess, handlers],\n );\n\n const handlePopoverOpen = useCallback(() => setPopoverOpen(true), []);\n const handlePopoverClose = useCallback(() => setPopoverOpen(false), []);\n const handleAccessModalClose = useCallback(() => setAccessModalOpen(false), []);\n const handleAccessDenied = useCallback(() => setAccessModalOpen(true), []);\n\n const formatDateRange = (range: DateRange) => {\n const from = dayjs(range.from).format('YYYY-MM-DD');\n const to = dayjs(range.to).format('YYYY-MM-DD');\n\n return from === to ? from : `${from} - ${to}`;\n };\n\n return (\n <Box sx={styles.container}>\n <Stack direction=\"row\" spacing={2} alignItems=\"center\">\n <TextField\n ref={dateFieldRef}\n label={t('dashboardFilters.dateRange.label')}\n value={formatDateRange(filterValues.dateRange)}\n onClick={handlePopoverOpen}\n size=\"small\"\n InputProps={{\n readOnly: true,\n startAdornment: (\n <InputAdornment position=\"start\">\n <CalendarTodayIcon sx={{ fontSize: 16 }} />\n </InputAdornment>\n ),\n }}\n sx={styles.dateField}\n data-testid=\"dashboard-filters.date-range-input\"\n />\n <ShiftSelector shifts={shifts} selectedShiftIds={filterValues.shiftIds} onChange={handlers.handleShiftChange} />\n </Stack>\n\n <Popover\n open={popoverOpen}\n anchorEl={dateFieldRef.current}\n onClose={handlePopoverClose}\n anchorOrigin={{ vertical: 'bottom', horizontal: 'left' }}\n transformOrigin={{ vertical: 'top', horizontal: 'left' }}\n sx={styles.popover}\n data-testid=\"dashboard-filters.date-popover\"\n >\n <Box sx={styles.popoverContent}>\n <DateRangePicker\n dateRange={filterValues.dateRange}\n dayType={filterValues.dayType}\n shifts={shifts}\n selectedShiftIds={filterValues.shiftIds}\n hasAccess={hasAccess}\n selectedPeriodId={selectedPeriodId}\n onDayTypeChange={handlers.handleDayTypeChange}\n onDateRangeChange={handlers.handleDateRangeChange}\n onPeriodSelect={handlePeriodSelect}\n onAccessDenied={handleAccessDenied}\n />\n </Box>\n </Popover>\n\n <AccessDeniedModal\n open={accessModalOpen}\n onClose={handleAccessModalClose}\n accessState={accessState}\n buttons={filteredButtons}\n daysSinceExpiry={daysSinceExpiry}\n cooldownInfo={cooldownInfo}\n onFeatureRequest={onFeatureRequest}\n />\n </Box>\n );\n};\n\nexport default DashboardFilters;\n","const bgPattern = `data:image/svg+xml,${encodeURIComponent(`<svg width=\"297\" height=\"403\" viewBox=\"0 0 297 403\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M938.46 -10H921.49L-10 921.49V938.46L938.46 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M904.52 -10H887.54L-10 887.54V904.52L904.52 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M870.58 -10H853.6L-10 853.6V870.58L870.58 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1006.34 -10H989.37L-10 989.37V1006.34L1006.34 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M972.4 -10H955.43L-10 955.43V972.4L972.4 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M836.63 -10H819.66L-10 819.66V836.63L836.63 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M768.75 -10H751.78L-10 751.78V768.75L768.75 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1040.28 -10H1023.31L-10 1023.31V1040.28L1040.28 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M802.69 -10H785.72L-10 785.72V802.69L802.69 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M734.81 -10H717.84L-10 717.84V734.81L734.81 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1447.57 -10H1430.6L350.6 1070H367.57L1447.57 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1379.69 -10H1362.72L282.72 1070H299.69L1379.69 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1311.81 -10H1294.84L214.84 1070H231.81L1311.81 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1345.75 -10H1328.78L248.78 1070H265.75L1345.75 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M700.87 -10H683.9L-10 683.9V700.87L700.87 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1413.63 -10H1396.66L316.66 1070H333.63L1413.63 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1142.1 -10H1125.13L45.13 1070H62.1L1142.1 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1108.16 -10H1091.19L11.19 1070H28.16L1108.16 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1176.04 -10H1159.07L79.07 1070H96.04L1176.04 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1243.93 -10H1226.96L146.96 1070H163.93L1243.93 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1209.99 -10H1193.02L113.02 1070H129.99L1209.99 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1277.87 -10H1260.9L180.9 1070H197.87L1277.87 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M429.34 -10H412.37L-10 412.37V429.34L429.34 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M157.81 -10H140.84L-10 140.84V157.81L157.81 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M191.75 -10H174.78L-10 174.78V191.75L191.75 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M123.87 -10H106.9L-10 106.9V123.87L123.87 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M225.69 -10H208.72L-10 208.72V225.69L225.69 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M259.63 -10H242.66L-10 242.66V259.63L259.63 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1057.25 -10L-10 1057.25V1070H-5.78L1074.22 -10H1057.25Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M293.57 -10H276.61L-10 276.61V293.57L293.57 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M22.05 -10H5.08L-10 5.08V22.05L22.05 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M55.99 -10H39.02L-10 39.02V55.99L55.99 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M89.93 -10H72.96L-10 72.96V89.93L89.93 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1481.52 -10H1464.54L384.54 1070H401.51L1481.52 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M565.1 -10H548.13L-10 548.13V565.1L565.1 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M497.22 -10H480.25L-10 480.25V497.22L497.22 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M327.52 -10H310.55L-10 310.55V327.52L327.52 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M632.99 -10H616.02L-10 616.02V632.99L632.99 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M599.04 -10H582.08L-10 582.08V599.04L599.04 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M531.16 -10H514.19L-10 514.19V531.16L531.16 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M463.28 -10H446.31L-10 446.31V463.28L463.28 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M361.46 -10H344.49L-10 344.49V361.46L361.46 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M395.4 -10H378.43L-10 378.43V395.4L395.4 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M666.93 -10H649.96L-10 649.96V666.93L666.93 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1910 410.04V393.07L1233.07 1070H1250.04L1910 410.04Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1910 342.16V325.19L1165.19 1070H1182.16L1910 342.16Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1910 579.75V562.78L1402.78 1070H1419.75L1910 579.75Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1910 613.69V596.72L1436.72 1070H1453.69L1910 613.69Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1910 681.57V664.6L1504.6 1070H1521.57L1910 681.57Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1910 647.63V630.66L1470.66 1070H1487.63L1910 647.63Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1910 376.1V359.13L1199.13 1070H1216.1L1910 376.1Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1910 443.98V427.01L1267.01 1070H1283.98L1910 443.98Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1910 511.87V494.9L1334.9 1070H1351.87L1910 511.87Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1910 715.51V698.54L1538.54 1070H1555.51L1910 715.51Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1910 477.93V460.95L1300.95 1070H1317.92L1910 477.93Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1910 545.81V528.84L1368.84 1070H1385.81L1910 545.81Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1910 953.1V936.13L1776.13 1070H1793.1L1910 953.1Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1910 919.16V902.19L1742.19 1070H1759.16L1910 919.16Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1910 987.04V970.07L1810.07 1070H1827.04L1910 987.04Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1910 749.45V732.48L1572.48 1070H1589.45L1910 749.45Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1910 1054.92V1037.95L1877.95 1070H1894.92L1910 1054.92Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1910 1020.98V1004.01L1844.01 1070H1860.98L1910 1020.98Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1910 783.39V766.42L1606.42 1070H1623.39L1910 783.39Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1910 817.34V800.37L1640.37 1070H1657.34L1910 817.34Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1910 851.28V834.31L1674.31 1070H1691.28L1910 851.28Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1910 885.22V868.25L1708.25 1070H1725.22L1910 885.22Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1910 308.22V291.25L1131.25 1070H1148.22L1910 308.22Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1719.1 -10H1702.13L622.13 1070H639.1L1719.1 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1753.04 -10H1736.07L656.07 1070H673.04L1753.04 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1820.93 -10H1803.96L723.96 1070H740.93L1820.93 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1786.98 -10H1770.01L690.01 1070H706.99L1786.98 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1854.87 -10H1837.9L757.9 1070H774.87L1854.87 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1685.16 -10H1668.19L588.19 1070H605.16L1685.16 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1583.34 -10H1566.37L486.37 1070H503.34L1583.34 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1549.4 -10H1532.43L452.43 1070H469.4L1549.4 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1651.22 -10H1634.25L554.25 1070H571.22L1651.22 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1617.28 -10H1600.31L520.31 1070H537.28L1617.28 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1910 36.69V19.72L859.72 1070H876.69L1910 36.69Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1910 206.4V189.43L1029.42 1070H1046.4L1910 206.4Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1910 172.46V155.48L995.48 1070H1012.46L1910 172.46Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1910 240.34V223.37L1063.37 1070H1080.34L1910 240.34Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1910 138.51V121.54L961.54 1070H978.51L1910 138.51Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1888.81 -10H1871.84L791.84 1070H808.81L1888.81 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1910 274.28V257.31L1097.31 1070H1114.28L1910 274.28Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1515.46 -10H1498.48L418.49 1070H435.46L1515.46 -10Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1910 2.75V-10H1905.78L825.78 1070H842.75L1910 2.75Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1910 70.63V53.66L893.66 1070H910.63L1910 70.63Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n<path d=\"M1910 104.57V87.6L927.6 1070H944.57L1910 104.57Z\" fill=\"black\" fill-opacity=\"0.1\"/>\n</svg>`)}`;\n\nexport default bgPattern;\n","import { lighten } from '@mui/material';\nimport { keyframes, SxProps, Theme } from '@mui/system';\n\nimport bgPattern from '../../assets/bg-pattern';\n\nconst CARD_TEXT_COLOR = '#090B0E';\n\ninterface StylesProps {\n card: {\n rounded?: boolean;\n };\n cardOverlay: {\n background: string;\n };\n showBgPattern: boolean;\n backgroundColor: string;\n animateBackgroundColor?: boolean;\n}\n\nexport const hexToRgba = (hex: string, alpha: number = 1): string => {\n const hexWithoutHash = hex.replace('#', '');\n const bigint = parseInt(hexWithoutHash, 16);\n\n const r = (bigint >> 16) & 255;\n const g = (bigint >> 8) & 255;\n const b = bigint & 255;\n\n return `rgba(${r}, ${g}, ${b}, ${alpha})`;\n};\n\nconst getPulseAnimation = (bgColor: string) => keyframes`\n 0% {\n background: ${hexToRgba(bgColor, 0.5)};\n }\n\n 50% {\n background: ${hexToRgba(bgColor, 1)};\n }\n\n 100% {\n background: ${hexToRgba(bgColor, 0.5)};\n }\n`;\n\nconst makeStyles = (props: StylesProps): Record<string, SxProps<Theme>> => ({\n card: {\n position: 'relative',\n width: '100%',\n height: '100%',\n ...(props.showBgPattern && {\n mixBlendMode: 'hard-light',\n background: `url(${bgPattern}), linear-gradient(329.66deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.75) 100%)`,\n backgroundSize: 'cover',\n }),\n ...(props.card.rounded\n ? {\n borderRadius: '4px',\n }\n : {\n borderTopLeftRadius: 0,\n borderTopRightRadius: 0,\n }),\n },\n cardOverlay: {\n position: 'absolute',\n top: 0,\n left: 0,\n width: '100%',\n height: '100%',\n zIndex: -1,\n ...(props.showBgPattern && {\n mixBlendMode: 'hard-light',\n }),\n ...(props.card.rounded\n ? {\n borderRadius: '4px',\n }\n : {\n borderTopLeftRadius: 0,\n borderTopRightRadius: 0,\n }),\n ...props.cardOverlay,\n animation: props.animateBackgroundColor ? `${getPulseAnimation(props.backgroundColor)} 3s infinite` : 'none',\n },\n cardHeader: {\n height: '3em',\n color: CARD_TEXT_COLOR,\n borderBottom: '1px solid rgba(0, 0, 0, 0.1)',\n background: 'rgba(0, 0, 0, 0.05)',\n '& span': {\n lineHeight: '3em',\n fontSize: '1em',\n fontWeight: 500,\n },\n },\n cardContent: {\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center',\n height: '80%',\n minWidth: 'auto',\n minHeight: 'auto',\n maxWidth: 'none',\n background: 'transparent',\n '& > img': {\n flexBasis: '25%',\n minWidth: '125px',\n maxWidth: '25%',\n },\n },\n cardLabel: {\n width: '100%',\n lineHeight: '2.5em',\n fontSize: '1.8em',\n fontWeight: 700,\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textAlign: 'center',\n textOverflow: 'ellipsis',\n color: CARD_TEXT_COLOR,\n },\n cardValue: {\n lineHeight: '1.2em',\n textAlign: 'center',\n fontSize: '1.6em',\n fontWeight: 700,\n color: lighten(CARD_TEXT_COLOR, 0.15),\n },\n cardExtra: {\n lineHeight: '4em',\n textAlign: 'center',\n fontSize: '1em',\n fontWeight: 600,\n color: CARD_TEXT_COLOR,\n },\n});\n\nexport default makeStyles;\n","import React from 'react';\nimport { Trans, useTranslation } from 'react-i18next';\nimport TextTruncate from 'react-text-truncate';\n\nimport { Box, Card, CardContent, CardHeader, CardProps, Typography } from '@mui/material';\nimport dayjs from 'dayjs';\nimport durationPlugin from 'dayjs/plugin/duration';\n\nimport { AndonLightColor, MetricValue } from '@/graphql-sdk';\n\nimport makeStyles from './styles';\n\ndayjs.extend(durationPlugin);\n\ninterface MetricCardProps extends CardProps {\n title: string;\n metricLabel: React.ReactNode;\n metricValue?: MetricValue;\n progressValue?: MetricValue;\n extraValue?: React.ReactNode;\n animateBackgroundColor?: boolean;\n rounded?: boolean;\n}\n\nconst MetricCard: React.FC<MetricCardProps> = ({\n title,\n metricLabel,\n metricValue,\n extraValue,\n animateBackgroundColor,\n rounded,\n ...props\n}) => {\n const { t } = useTranslation();\n const formatValue = (metricValue: MetricValue) => {\n const value = metricValue.textValue;\n\n if (value) {\n const duration = dayjs.duration(Number(value), 'seconds');\n const minutes = Math.floor(duration.asMinutes());\n const seconds = duration.seconds();\n return `${minutes}m ${seconds}s`;\n }\n return '';\n };\n const getBackgroundColor = () => {\n const statusColor = metricValue?.statusColor;\n\n if (statusColor) {\n switch (statusColor) {\n case AndonLightColor.Green:\n return '#32D74B';\n case AndonLightColor.Yellow:\n return '#FFC12F';\n case AndonLightColor.Red:\n return '#FF3B2F';\n default:\n return '#BBBBBBBF';\n }\n }\n return '#FFFFFFBF';\n };\n const getBackground = () => {\n const statusColor = metricValue?.statusColor;\n\n if (statusColor) {\n switch (statusColor) {\n case AndonLightColor.Green:\n return 'linear-gradient(180deg, #31BF59 0%, #32D74B 100%)';\n case AndonLightColor.Yellow:\n return 'linear-gradient(360deg, #FFD60A 0%, #FFC12F 100%)';\n case AndonLightColor.Red:\n return 'linear-gradient(0deg, #F05C53 0%, #FF3B2F 100%)';\n default:\n return 'rgba(187, 187, 187, 0.75)';\n }\n }\n return 'rgba(255, 255, 255, 0.75)';\n };\n const styles = makeStyles({\n card: { rounded },\n cardOverlay: { background: getBackground() },\n showBgPattern: true,\n backgroundColor: getBackgroundColor(),\n animateBackgroundColor,\n });\n\n return (\n <Card sx={styles.card} {...props}>\n <Box sx={styles.cardOverlay} />\n <CardHeader title={<TextTruncate line={1} text={title} />} sx={styles.cardHeader} />\n <CardContent sx={styles.cardContent}>\n <Typography sx={styles.cardLabel}>{metricLabel}</Typography>\n <Typography sx={styles.cardValue}>\n {metricValue ? formatValue(metricValue) : <Trans t={t}>No value for the selected metric</Trans>}\n </Typography>\n {extraValue && <Typography sx={styles.cardExtra}>{extraValue}</Typography>}\n </CardContent>\n </Card>\n );\n};\n\nexport default MetricCard;\n","import React, { MouseEventHandler } from 'react';\nimport Select, {\n components,\n MultiValue,\n MultiValueGenericProps,\n MultiValueProps,\n OnChangeValue,\n Options,\n} from 'react-select';\n\nimport { DndContext, DragEndEvent } from '@dnd-kit/core';\nimport { SortableContext, useSortable } from '@dnd-kit/sortable';\nimport { CSS } from '@dnd-kit/utilities';\nimport { arrayMoveImmutable } from 'array-move';\n\nexport interface Option {\n label: string;\n value: string;\n}\n\ninterface SortableSelectProps {\n placeholder: string;\n options: Options<Option>;\n selected: Array<Option['value']>;\n onChange: (selected: OnChangeValue<Option['value'], true>) => void;\n}\n\nconst SortableMultiValueContainer = (props: MultiValueProps<Option>) => {\n const { attributes, listeners, setNodeRef, transform, transition } = useSortable({ id: props.data.value });\n\n const style = {\n display: 'flex',\n transform: CSS.Transform.toString(transform),\n transition,\n };\n\n return (\n <div\n ref={setNodeRef}\n style={style}\n {...attributes}\n {...listeners}\n onPointerDown={(e) => {\n if (!(e.target instanceof HTMLElement)) return;\n\n // Stop drag event when clicking on remove button\n if (['svg', 'path'].includes(e.target.nodeName)) {\n e.preventDefault();\n e.stopPropagation();\n }\n listeners?.onPointerDown(e);\n }}\n >\n <components.MultiValueContainer {...props} />\n </div>\n );\n};\n\nconst SortableMultiValueLabel = (props: MultiValueGenericProps) => {\n const onMouseDown: MouseEventHandler<HTMLDivElement> = (e) => {\n e.preventDefault();\n e.stopPropagation();\n };\n const style = {\n cursor: 'grab',\n };\n const innerProps = { ...props.innerProps, style, onMouseDown };\n\n return <components.MultiValueLabel {...props} innerProps={innerProps} />;\n};\n\nconst SortableSelect: React.FC<SortableSelectProps> = ({ placeholder, options, selected, onChange }) => {\n const onSortEnd = (event: DragEndEvent) => {\n const { active, over } = event;\n\n if (active.id !== over?.id) {\n const oldIndex = selected.findIndex((opt) => opt === active.id);\n const newIndex = selected.findIndex((opt) => opt === over?.id);\n\n onChange(arrayMoveImmutable(selected, oldIndex, newIndex));\n }\n };\n\n return (\n <Select\n placeholder={placeholder}\n isMulti\n options={options}\n value={selected.map((value) => options.find((option) => option.value === value))}\n onChange={(selected) => onChange([...((selected as MultiValue<Option>) || [])].map((item: Option) => item.value))}\n closeMenuOnSelect={false}\n components={{\n MultiValueContainer: SortableMultiValueContainer,\n MultiValueLabel: SortableMultiValueLabel,\n ValueContainer: (props) => (\n <DndContext onDragEnd={onSortEnd}>\n <SortableContext items={selected}>{props.children}</SortableContext>\n </DndContext>\n ),\n }}\n styles={{\n control: (baseStyles, state) => ({\n ...baseStyles,\n padding: '6px 0 6px 8px',\n borderColor: 'rgba(255, 255, 255, 0.15)',\n background: '#1C1F25',\n ...(state.isFocused && {\n borderColor: '#4E5A67',\n boxShadow: 'none',\n }),\n '&:hover': {\n borderColor: '#4E5A67',\n boxShadow: 'none',\n },\n }),\n menu: (baseStyles) => ({\n ...baseStyles,\n background: '#1C1F25',\n }),\n option: (baseStyles, state) => ({\n ...baseStyles,\n background: state.isFocused ? '#2A2E34' : '#1C1F25',\n }),\n }}\n />\n );\n};\n\nexport default SortableSelect;\n","import React from 'react';\n\nconst DragIcon: React.FC<React.SVGProps<SVGSVGElement>> = (props) => (\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path\n d=\"M2.46147 10.5737C2.99531 11.0586 3.63181 10.6829 3.63181 10.0478V8.74325H7.26604V12.3699H5.94512C5.30862 12.3699 4.93904 13.0119 5.41813 13.5378L7.42345 15.7234C7.75197 16.0922 8.25159 16.0922 8.58011 15.7234L10.5786 13.5447C11.0645 13.0119 10.6949 12.3699 10.0516 12.3699H8.74437V8.74325H12.3649V10.0478C12.3649 10.6829 13.0083 11.0586 13.5421 10.5737L15.7254 8.57933C16.095 8.24467 16.0881 7.74609 15.7254 7.42508L13.5353 5.42393C13.0083 4.94584 12.3649 5.31465 12.3649 5.94983V7.26117H8.74437V3.62767H10.0516C10.6949 3.62767 11.0645 2.98566 10.5786 2.45293L8.57327 0.267369C8.23791 -0.101445 7.73828 -0.0809553 7.41661 0.281028L5.41813 2.46659C4.93904 2.98566 5.30862 3.62767 5.94512 3.62767H7.26604V7.26117H3.63181V5.94983C3.63181 5.31465 2.98846 4.94584 2.46831 5.42393L0.278192 7.41825C-0.0777021 7.73926 -0.105079 8.23784 0.271348 8.5725L2.46147 10.5737Z\"\n fill=\"white\"\n />\n </svg>\n);\n\nexport default DragIcon;\n","import ActionCable from 'actioncable';\nimport { ExecutionResult } from 'graphql/execution/execute';\nimport isEmpty from 'lodash.isempty';\nimport { Observable } from 'rxjs';\nimport { OperationOptions } from 'subscriptions-transport-ws';\n\ntype DisconnectCallback = () => void;\n\nconst CHANNEL_ID_RANGE = 100_000;\n\nclass ActionCableClient {\n private wsURL: string;\n\n private cable: ActionCable.Cable | null = null;\n\n private subscriptions: Map<string, ActionCable.Channel> = new Map<string, ActionCable.Channel>();\n\n private onDisconnect?: DisconnectCallback;\n\n constructor(url: string, onDisconnect?: DisconnectCallback) {\n this.wsURL = url;\n this.onDisconnect = onDisconnect;\n }\n\n private addSubscription = (id: string, subscription: ActionCable.Channel) => {\n this.subscriptions.set(id, subscription);\n };\n\n public connect(token: string, lang: string): void {\n this.cable = ActionCable.createConsumer(`${this.wsURL}?token=${token}&lang=${lang}`);\n }\n\n public disconnect(): void {\n if (!this.cable) return;\n\n this.subscriptions.forEach((channel) => {\n channel.unsubscribe();\n });\n this.subscriptions.clear();\n\n this.cable.disconnect();\n this.cable = null;\n }\n\n public request(request: OperationOptions): Observable<ExecutionResult> {\n const { cable, subscriptions, addSubscription, onDisconnect } = this;\n\n return new Observable((observer) => {\n if (cable) {\n const subscriptionId = (request.variables as Record<string, string>)?.id || 'company';\n\n if (!subscriptions.has(subscriptionId)) {\n const channel = cable.subscriptions.create(\n {\n channel: 'GraphqlChannel',\n channelId: Math.round(Date.now() + Math.random() * CHANNEL_ID_RANGE).toString(16),\n },\n {\n connected() {\n this.perform('execute', request);\n },\n disconnected() {\n if (onDisconnect) onDisconnect();\n },\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n received(payload: any) {\n if (!payload.more) {\n if (observer.complete) {\n observer.complete();\n }\n } else if (payload.result.errors) {\n if (observer.error) {\n observer.error(payload.result.errors[0]);\n }\n } else if (payload.result.data) {\n if (observer.next) {\n if (!isEmpty(payload.result.data)) {\n observer.next(payload.result);\n }\n }\n }\n },\n },\n );\n addSubscription(subscriptionId, channel);\n }\n }\n });\n }\n\n public hasSubscription(id: string): boolean {\n return this.subscriptions.has(id);\n }\n}\n\nexport default ActionCableClient;\n","import { OperationOptions } from 'subscriptions-transport-ws';\n\nimport ActionCableClient from './actioncable-client';\n\ninterface ObjMap<T> {\n [key: string]: T;\n}\n\ninterface SubscriptionEntry<T = unknown> {\n query: OperationOptions['query'];\n variables?: OperationOptions['variables'];\n onData?: (item: T) => void;\n onError: (error: Error) => void;\n}\n\nlet nextSubscriptionId = 0;\n\nclass GraphqlWsClient {\n private actionCableClient: ActionCableClient | null = null;\n\n private registry: Map<string, SubscriptionEntry> = new Map();\n\n private activeRxSubscriptions: Map<string, { unsubscribe: () => void }> = new Map();\n\n constructor(url: string, token: string, lang: string, onDisconnect?: () => void) {\n this.actionCableClient = new ActionCableClient(url, onDisconnect);\n this.actionCableClient.connect(token, lang);\n }\n\n public subscribe<T = unknown>(\n query: OperationOptions['query'],\n variables?: OperationOptions['variables'],\n onData?: (item: T) => void,\n onError: (error: Error) => void = (error) => {\n throw error;\n },\n ) {\n const key = String(++nextSubscriptionId);\n\n this.registry.set(key, {\n query,\n variables,\n onData: onData as ((item: unknown) => void) | undefined,\n onError,\n });\n\n const rxSub = this.subscribeToActionCable<T>(query, variables, onData, onError);\n this.activeRxSubscriptions.set(key, rxSub);\n\n return () => {\n rxSub.unsubscribe();\n this.activeRxSubscriptions.delete(key);\n this.registry.delete(key);\n };\n }\n\n public disconnect(): void {\n this.activeRxSubscriptions.forEach((sub) => sub.unsubscribe());\n this.activeRxSubscriptions.clear();\n this.registry.clear();\n\n this.actionCableClient?.disconnect();\n this.actionCableClient = null;\n }\n\n public getActiveSubscriptions(): Map<string, SubscriptionEntry> {\n return new Map(this.registry);\n }\n\n public resubscribe(): void {\n this.activeRxSubscriptions.forEach((sub) => sub.unsubscribe());\n this.activeRxSubscriptions.clear();\n\n this.registry.forEach((entry, key) => {\n const rxSub = this.subscribeToActionCable(entry.query, entry.variables, entry.onData, entry.onError);\n this.activeRxSubscriptions.set(key, rxSub);\n });\n }\n\n private subscribeToActionCable<T = unknown>(\n query: OperationOptions['query'],\n variables: OperationOptions['variables'],\n onData?: (item: T) => void,\n onError: (error: Error) => void = (error) => {\n throw error;\n },\n ) {\n const getFirstValue = (data: ObjMap<unknown>): T => {\n const keys = Object.keys(data);\n\n if (keys.length !== 1) throw new Error(`Expected exactly one response key, got: ${keys.join(', ')}`);\n\n return data[keys[0]] as T;\n };\n\n if (!this.actionCableClient) throw new Error('No WS client available');\n\n const subscription = this.actionCableClient.request({ query, variables }).subscribe({\n next({ data, errors }) {\n if (errors) {\n return onError(new Error(JSON.stringify(errors)));\n }\n if (data && onData) onData(getFirstValue(data));\n },\n });\n\n return subscription;\n }\n}\n\nexport default GraphqlWsClient;\nexport type { SubscriptionEntry };\n","import GraphqlWsClient from './utils/graphql-ws-client';\n\nexport const getGqlWsClient = (url: string, token: string, lang: string, onDisconnect?: () => void) => {\n return new GraphqlWsClient(url, token, lang, onDisconnect);\n};\n","import { GraphQLClient } from 'graphql-request';\n\nimport { getSdk } from '../graphql-sdk';\n\nexport const getGraphqlSdk = (url: string, fetch: typeof global.fetch) => {\n const graphqlClient = new GraphQLClient(url, { fetch });\n\n return getSdk(graphqlClient);\n};\n","import { useEffect, useRef, useState } from 'react';\n\nimport { fetch, useStore } from 'andoncloud-sdk';\n\nimport { Sdk } from '../graphql-sdk';\nimport { getGqlWsClient } from '../graphql-ws';\nimport { getGraphqlSdk } from '../helpers/sdk';\nimport { GqlClients } from '../types';\nimport GraphqlWsClient from '../utils/graphql-ws-client';\n\ninterface ClientsProps {\n url: string;\n wsUrl?: string;\n lang: 'pl' | 'en';\n}\n\nconst useGqlClients = ({ url, wsUrl: gqlWsUrl, lang }: ClientsProps): GqlClients => {\n // -- SDK / framework hooks --\n const { sessionStore } = useStore();\n\n // -- Local state --\n const [graphqlSdk, setGraphqlSdk] = useState<Sdk>();\n const [gqlWsClient, setGqlWsClient] = useState<GraphqlWsClient>();\n const wsClientRef = useRef<GraphqlWsClient | undefined>(undefined);\n const previousTokenRef = useRef<string>('');\n\n // -- Data layer --\n const wsUrl = gqlWsUrl || url.replace('graphql', 'cable');\n const token = sessionStore.loginStatus.authResponse?.accessToken || '';\n\n useEffect(() => {\n if (url) {\n setGraphqlSdk(getGraphqlSdk(url, fetch));\n }\n }, [url]);\n\n useEffect(() => {\n if (!url || !token) return;\n\n if (token === previousTokenRef.current) return;\n previousTokenRef.current = token;\n\n const previousClient = wsClientRef.current;\n const activeSubscriptions = previousClient?.getActiveSubscriptions();\n\n const onDisconnect = () => {\n const status = sessionStore.loginStatus.status;\n\n if (status === 'connected') {\n console.warn('[dashboard-toolkit] WebSocket disconnected unexpectedly — waiting for token refresh');\n }\n };\n\n const newClient = getGqlWsClient(wsUrl, token, lang, onDisconnect);\n wsClientRef.current = newClient;\n\n if (activeSubscriptions && activeSubscriptions.size > 0) {\n activeSubscriptions.forEach((entry) => {\n newClient.subscribe(entry.query, entry.variables, entry.onData, entry.onError);\n });\n }\n\n setGqlWsClient(newClient);\n\n if (previousClient) {\n previousClient.disconnect();\n }\n\n return () => {\n newClient.disconnect();\n wsClientRef.current = undefined;\n };\n }, [url, wsUrl, token, lang]);\n\n return { graphqlSdk, gqlWsClient };\n};\n\nexport default useGqlClients;\n","import { SxProps, Theme } from '@mui/material/styles';\n\nexport const container: SxProps<Theme> = {\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center',\n height: '100%',\n gap: (theme) => theme.spacing(2),\n padding: (theme) => theme.spacing(2),\n};\n","import React from 'react';\nimport { ErrorBoundary, FallbackProps } from 'react-error-boundary';\nimport { useTranslation } from 'react-i18next';\n\nimport { Box, Button, Typography } from '@mui/material';\n\nimport * as styles from './errorBoundaryStyles';\n\nconst ErrorFallback: React.FC<FallbackProps> = ({ resetErrorBoundary }) => {\n // -- Translation --\n const { t } = useTranslation();\n\n return (\n <Box sx={styles.container}>\n <Typography variant=\"body2\" color=\"text.secondary\">\n {t('widgetCard.error')}\n </Typography>\n\n <Button variant=\"outlined\" size=\"small\" onClick={resetErrorBoundary} data-testid=\"widget-card.error-retry\">\n {t('widgetCard.retry')}\n </Button>\n </Box>\n );\n};\n\nconst handleError = (error: Error, info: React.ErrorInfo) => {\n console.error('[dashboard-toolkit] Widget error:', error, info);\n};\n\ninterface WidgetErrorBoundaryProps {\n children: React.ReactNode;\n}\n\nconst WidgetErrorBoundary: React.FC<WidgetErrorBoundaryProps> = ({ children }) => {\n return (\n <ErrorBoundary FallbackComponent={ErrorFallback} onError={handleError}>\n {children}\n </ErrorBoundary>\n );\n};\n\nexport { WidgetErrorBoundary };\n","const resizeIcon = `data:image/svg+xml,${encodeURIComponent(`<svg width=\"8\" height=\"8\" viewBox=\"0 0 8 8\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M0.602543 3.50035C0.853628 3.50035 1.04095 3.3172 1.04095 3.0624V2.77972L0.95725 1.54551L1.87789 2.51297L3.01774 3.6596C3.10143 3.74719 3.20904 3.787 3.32462 3.787C3.59563 3.787 3.79092 3.60386 3.79092 3.33313C3.79092 3.20971 3.74309 3.10221 3.6594 3.01462L2.51557 1.87198L1.54311 0.956271L2.78658 1.03988H3.09745C3.34853 1.03988 3.53983 0.856738 3.53983 0.601932C3.53983 0.347127 3.35252 0.160004 3.09745 0.160004H0.885512C0.427183 0.160004 0.160156 0.426753 0.160156 0.884607V3.0624C0.160156 3.31322 0.347473 3.50035 0.602543 3.50035ZM4.90287 7.84H7.1148C7.57313 7.84 7.84016 7.57325 7.84016 7.1154V4.93761C7.84016 4.68678 7.64885 4.49966 7.39777 4.49966C7.14668 4.49966 6.95937 4.6828 6.95937 4.93761V5.22028L7.04306 6.4545L6.12242 5.48703L4.98257 4.34041C4.89888 4.25282 4.79127 4.21301 4.67171 4.21301C4.4007 4.21301 4.20541 4.39615 4.20541 4.66688C4.20541 4.7903 4.25323 4.90178 4.34091 4.98538L5.48474 6.12803L6.4572 7.04374L5.21373 6.96013H4.90287C4.6478 6.96013 4.46048 7.14327 4.46048 7.39808C4.46048 7.65288 4.6478 7.84 4.90287 7.84Z\" fill=\"white\"/>\n</svg>`)}`;\n\nexport default resizeIcon;\n","import { SxProps, Theme } from '@mui/material/styles';\n\nimport resizeIcon from '../../assets/resize-icon';\n\nconst reducedMotion = '@media (prefers-reduced-motion: reduce)';\n\nconst styles: Record<string, SxProps<Theme>> = {\n root: {\n boxShadow: 'none',\n '& .react-resizable-handle': {\n width: '24px',\n height: '24px',\n borderRadius: '4px',\n background: (theme) => `${theme.palette.primary.main} url(${resizeIcon})`,\n backgroundRepeat: 'no-repeat',\n backgroundSize: '50%',\n backgroundPosition: '50%',\n '&:hover': {\n backgroundColor: (theme) => theme.palette.primary.dark,\n },\n },\n '& .react-resizable-handle:after': {\n display: 'none',\n },\n },\n header: {\n position: 'relative',\n overflow: 'hidden',\n height: '40px',\n '& .MuiCardHeader-avatar': {\n marginLeft: (theme) => `-${theme.spacing(1)}`,\n },\n '& .MuiCardHeader-content': {\n transition: 'margin 450ms ease',\n overflow: 'hidden',\n minWidth: 0,\n },\n },\n headerPreview: {\n background: 'transparent',\n '& .MuiCardHeader-content': {\n zIndex: 1,\n marginLeft: (theme) => theme.spacing(-5),\n marginRight: (theme) => theme.spacing(-28),\n },\n },\n title: {\n display: 'block',\n overflow: 'hidden',\n color: (theme) => theme.palette.common.white,\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis',\n },\n titlePreview: {\n color: (theme) => theme.palette.text.primary,\n },\n controls: {\n position: 'relative',\n display: 'flex',\n alignItems: 'center',\n opacity: 1,\n visibility: 'visible' as const,\n transform: 'translateX(0)',\n transition: 'opacity 450ms ease, visibility 450ms, transform 450ms ease',\n zIndex: 1,\n [reducedMotion]: {\n transitionDuration: '0s',\n },\n },\n controlsHiddenLeft: {\n opacity: 0,\n visibility: 'hidden' as const,\n transform: 'translateX(-100%)',\n },\n controlsHiddenRight: {\n opacity: 0,\n visibility: 'hidden' as const,\n transform: 'translateX(100%)',\n },\n dragIcon: {\n width: '30px',\n height: '30px',\n padding: '8px',\n borderRadius: '4px',\n background: (theme) => theme.palette.primary.main,\n '&:hover': {\n cursor: 'move',\n background: (theme) => theme.palette.primary.dark,\n },\n },\n actionButtons: {\n height: '30px',\n marginTop: '-7px',\n },\n settingsButton: {\n color: 'rgba(255, 255, 255, 0.45)',\n borderRadius: '4px',\n borderTopRightRadius: 0,\n borderBottomRightRadius: 0,\n borderColor: 'rgba(255,255,255,0.1)',\n background: 'rgba(255,255,255,0.1)',\n '&:focus': {\n boxShadow: '0 0 0 1px rgba(255, 255, 255, 0.1)',\n },\n '&:hover': {\n opacity: 0.8,\n },\n },\n infoButton: {\n marginLeft: '1px',\n color: 'rgba(255, 255, 255, 0.45)',\n borderRadius: 0,\n borderColor: 'rgba(255,255,255,0.1)',\n background: 'rgba(255,255,255,0.1)',\n '&:focus': {\n boxShadow: '0 0 0 1px rgba(255, 255, 255, 0.1)',\n },\n '&:hover': {\n opacity: 0.8,\n },\n },\n deleteButton: {\n marginLeft: '1px',\n color: 'rgba(255, 255, 255, 0.45)',\n borderRadius: '4px',\n borderTopLeftRadius: 0,\n borderBottomLeftRadius: 0,\n borderColor: 'rgba(255,255,255,0.1)',\n background: 'rgba(255,255,255,0.1)',\n '&:focus': {\n boxShadow: '0 0 0 1px rgba(255, 255, 255, 0.1)',\n },\n '&:hover': {\n opacity: 0.8,\n },\n },\n content: {\n position: 'relative',\n height: 'calc(100% - 40px)',\n padding: 0,\n background: 'transparent',\n border: '1px solid rgba(255, 255, 255, 0.2)',\n borderTop: 'none',\n borderRadius: '4px',\n boxShadow: '0px 4px 8px rgba(0, 0, 0, 0.25)',\n '&::before': {\n content: '\"\"',\n position: 'absolute',\n top: 0,\n left: 0,\n display: 'block',\n width: '100%',\n height: '1px',\n transform: 'scaleX(0)',\n transformOrigin: 'left',\n transition: 'transform 150ms ease',\n backgroundColor: 'rgba(255, 255, 255, 0.2)',\n [reducedMotion]: {\n transitionDuration: '0s',\n },\n },\n '&:last-child': {\n paddingBottom: 0,\n },\n },\n contentPreview: {\n '&::before': {\n transform: 'scaleX(1)',\n },\n },\n};\n\nexport { styles };\n","import React, { useCallback, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport { Delete, Info, Settings } from '@mui/icons-material';\nimport { LoadingButton } from '@mui/lab';\nimport { Box, Button, Card, CardContent, CardHeader, Stack, SvgIcon, Tooltip, Typography } from '@mui/material';\nimport { AccessGuard, refreshUserData, registerTranslations, useAccess } from 'andoncloud-sdk';\nimport { mergeSx } from 'merge-sx';\n\nimport { AccessRequestTypeEnum } from '@/graphql-sdk';\nimport locales from '@/locales';\nimport { BaseWidgetData, BaseWidgetSettings, WidgetCardProps as BaseWidgetCardProps } from '@/types';\n\nimport DragIcon from '../../assets/DragIcon';\nimport useGqlClients from '../../hooks/useGqlClients';\nimport ConfirmTooltip from '../ConfirmTooltip';\n\nimport { WidgetErrorBoundary } from './ErrorBoundary';\n\nimport { styles } from './styles';\n\ntype WidgetCardProps = Omit<BaseWidgetCardProps, 'ref'> & { ref?: React.LegacyRef<HTMLDivElement> };\n\nconst WidgetCard: React.FC<WidgetCardProps> = React.forwardRef(\n (\n {\n children,\n title,\n Widget,\n id,\n getTitle,\n thumbnail,\n url,\n wsUrl,\n lang,\n filters,\n openSettingsModal,\n onSettingsModalOpened,\n onSettingsModalClosed,\n onLocalesRegistered,\n sidePanelOpened,\n updateSidePanelProps,\n onDelete,\n editMode,\n version,\n requiredFeatures,\n extraPermissions,\n ...cardProps\n },\n ref,\n ) => {\n // -- SDK / framework hooks --\n const { graphqlSdk } = useGqlClients({ url, wsUrl, lang });\n const { hasAccess } = useAccess(requiredFeatures, { extraPermissions });\n\n // -- Local state --\n const [widgetData, setWidgetData] = useState<BaseWidgetData | undefined>();\n const [widgetSettings, setWidgetSettings] = useState<BaseWidgetSettings | undefined>();\n const [localesReady, setLocalesReady] = useState(false);\n const [deleteInProgress, setDeleteInProgress] = useState<boolean>(false);\n const [removeTooltipOpened, setRemoveTooltipOpened] = useState<boolean>(false);\n\n // -- Data layer --\n const handleDataChange = useCallback((newData: BaseWidgetData) => {\n setWidgetData(newData);\n }, []);\n\n const handleSettingsChange = useCallback((newSettings: BaseWidgetSettings) => {\n setWidgetSettings(newSettings);\n }, []);\n\n // -- Translation --\n const { t } = useTranslation();\n\n registerTranslations(locales);\n\n // --- Title resolution ---\n\n const resolvedTitle = useCallback((): string => {\n const trimmed = widgetSettings?.customTitle?.trim();\n if (trimmed) return trimmed;\n\n if (getTitle) {\n try {\n const result = getTitle(widgetData, widgetSettings, filters, lang);\n if (result) return result;\n } catch {\n // silent fallback\n }\n }\n\n return title as string;\n }, [widgetData, widgetSettings, filters, lang, getTitle, title, localesReady]);\n\n const displayTitle = resolvedTitle();\n\n // --- Handlers ---\n\n const handleOpenSettingsModal = () => {\n if (onSettingsModalOpened) onSettingsModalOpened();\n };\n\n const handleDelete = async () => {\n setDeleteInProgress(true);\n setRemoveTooltipOpened(false);\n\n if (onDelete) await onDelete();\n\n setDeleteInProgress(false);\n };\n\n const handleTrialRequest = async (featureKey: string): Promise<boolean> => {\n try {\n await graphqlSdk?.startTrial({ input: { featureKey } });\n await refreshUserData();\n return true;\n } catch (error) {\n console.error('Failed to start trial:', error);\n return false;\n }\n };\n\n const handleFeatureRequest = async ({\n featureKey,\n requestType,\n workplaceId,\n }: {\n featureKey: string;\n requestType: string;\n workplaceId?: string;\n }): Promise<boolean> => {\n try {\n await graphqlSdk?.requestFeatureAccess({\n input: { featureKey, requestType: requestType.toUpperCase() as AccessRequestTypeEnum, workplaceId },\n });\n await refreshUserData();\n return true;\n } catch (error) {\n console.error('Failed to request feature access:', error);\n return false;\n }\n };\n\n // --- Render helpers ---\n\n const renderDragHandle = () => {\n return <SvgIcon component={DragIcon} className=\"draggable-handle\" sx={styles.dragIcon} inheritViewBox />;\n };\n\n const renderActionButtons = () => {\n return (\n <Stack direction=\"row\" sx={styles.actionButtons}>\n <Button\n color=\"secondary\"\n sx={styles.settingsButton}\n onClick={handleOpenSettingsModal}\n disabled={!hasAccess}\n data-testid=\"widget-card.settings-button\"\n >\n <Settings />\n </Button>\n {version && (\n <React.Fragment>\n <Tooltip title={version}>\n <Button color=\"secondary\" sx={styles.infoButton} data-testid=\"widget-card.info-button\">\n <Info />\n </Button>\n </Tooltip>\n </React.Fragment>\n )}\n <ConfirmTooltip\n open={removeTooltipOpened}\n confirmMessage={t('Are you sure you want to delete this widget?')}\n confirmButtonText={t('Delete')}\n cancelButtonText={t('Cancel')}\n onCancel={() => setRemoveTooltipOpened(false)}\n onConfirm={handleDelete}\n confirmButtonTestId=\"widget-card.delete-confirm\"\n cancelButtonTestId=\"widget-card.delete-cancel\"\n >\n <LoadingButton\n color=\"secondary\"\n sx={styles.deleteButton}\n onClick={(e) => {\n e.stopPropagation();\n\n setRemoveTooltipOpened(true);\n }}\n loading={deleteInProgress}\n data-testid=\"widget-card.delete-button\"\n >\n <Delete />\n </LoadingButton>\n </ConfirmTooltip>\n </Stack>\n );\n };\n\n return (\n <Card ref={ref} sx={styles.root} {...cardProps}>\n <CardHeader\n avatar={<Box sx={mergeSx(styles.controls, !editMode && styles.controlsHiddenLeft)}>{renderDragHandle()}</Box>}\n title={\n <Typography\n variant=\"subtitle1\"\n sx={mergeSx(styles.title, !editMode && styles.titlePreview)}\n data-testid=\"widget-card.title\"\n >\n {displayTitle}\n </Typography>\n }\n action={\n <Box sx={mergeSx(styles.controls, !editMode && styles.controlsHiddenRight)}>{renderActionButtons()}</Box>\n }\n sx={mergeSx(styles.header, !editMode && styles.headerPreview)}\n data-testid=\"widget-card.header\"\n />\n <CardContent sx={mergeSx(styles.content, !editMode && styles.contentPreview)} data-testid=\"widget-card.content\">\n <AccessGuard\n features={requiredFeatures}\n extraPermissions={extraPermissions}\n onTrialRequest={handleTrialRequest}\n onFeatureRequest={handleFeatureRequest}\n backgroundImage={thumbnail}\n >\n <WidgetErrorBoundary>\n <Widget\n id={id}\n url={url}\n wsUrl={wsUrl}\n lang={lang}\n filters={filters}\n onDataChange={handleDataChange}\n onSettingsChange={handleSettingsChange}\n onLocalesRegistered={() => setLocalesReady(true)}\n openSettingsModal={openSettingsModal}\n onSettingsModalOpened={onSettingsModalOpened}\n onSettingsModalClosed={onSettingsModalClosed}\n sidePanelOpened={sidePanelOpened}\n updateSidePanelProps={updateSidePanelProps}\n editMode={editMode}\n />\n </WidgetErrorBoundary>\n </AccessGuard>\n </CardContent>\n {/* resizable handle */}\n {editMode && children}\n </Card>\n );\n },\n);\n\nexport { WidgetCard };\n","import dayjs from 'dayjs';\n\nimport { InsightsAggregation } from '../graphql-sdk';\n\ntype DateRange = {\n dateFrom: string;\n dateTo: string;\n};\n\nconst MAX_DAYS_HOURLY = 1;\nconst MIN_DAYS_DAILY = 2;\nconst MAX_DAYS_DAILY = 31;\nconst MIN_DAYS_WEEKLY = 14;\nconst MAX_MONTHS_WEEKLY = 6;\nconst MIN_MONTHS_MONTHLY = 3;\nconst MAX_MONTHS_MONTHLY = 12;\n\nconst getValidAggregations = (dateRange: DateRange): InsightsAggregation[] => {\n const from = dayjs(dateRange.dateFrom);\n const to = dayjs(dateRange.dateTo);\n const days = to.diff(from, 'day');\n const months = to.diff(from, 'month');\n\n const valid: InsightsAggregation[] = [];\n\n if (days <= MAX_DAYS_HOURLY) {\n valid.push(InsightsAggregation.Hourly);\n }\n\n if (days >= MIN_DAYS_DAILY && days <= MAX_DAYS_DAILY) {\n valid.push(InsightsAggregation.Daily);\n }\n\n if (days >= MIN_DAYS_WEEKLY && months <= MAX_MONTHS_WEEKLY) {\n valid.push(InsightsAggregation.Weekly);\n }\n\n if (months >= MIN_MONTHS_MONTHLY && months <= MAX_MONTHS_MONTHLY) {\n valid.push(InsightsAggregation.Monthly);\n }\n\n return valid;\n};\n\nconst resolveAutoAggregation = (dateRange: DateRange): InsightsAggregation => {\n const from = dayjs(dateRange.dateFrom);\n const to = dayjs(dateRange.dateTo);\n const days = to.diff(from, 'day');\n const months = to.diff(from, 'month');\n\n if (days <= 1) {\n return InsightsAggregation.Hourly;\n }\n\n if (days <= 13) {\n return InsightsAggregation.Daily;\n }\n\n if (months < 3) {\n return InsightsAggregation.Weekly;\n }\n\n return InsightsAggregation.Monthly;\n};\n\nconst resolveAggregation = (dateRange: DateRange, savedAggregation?: InsightsAggregation): InsightsAggregation => {\n if (savedAggregation) {\n const valid = getValidAggregations(dateRange);\n\n if (valid.includes(savedAggregation)) {\n return savedAggregation;\n }\n }\n\n return resolveAutoAggregation(dateRange);\n};\n\nexport { getValidAggregations, resolveAggregation };\n","import { Dayjs } from 'dayjs';\n\nexport const generateTimeRange = (\n start: Dayjs,\n end: Dayjs,\n unit: 'minutes' | 'hours' | 'days',\n step: number,\n): Dayjs[] => {\n const result: Dayjs[] = [];\n let current = start;\n const isReverse = start.isAfter(end);\n\n while (isReverse ? current.isAfter(end) || current.isSame(end) : current.isBefore(end) || current.isSame(end)) {\n result.push(current);\n current = isReverse ? current.subtract(step, unit) : current.add(step, unit);\n }\n return result;\n};\n","export const LIBRARY_VERSION = '1.5.49';\n"],"mappings":"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"}
|