/** * @typedef {{ data?: Partial; errors?: any }} HeaderDataQueryResponse * * @typedef {{ * id: string; * name: string; * type: string; * }} FieldsBase * * @typedef {{ * fieldRegionalize: boolean; * headerTitle: string; * fieldListpagetitle: string; * }} HeaderChildItemsFieldsBase * * @typedef {FieldsBase & { * flagRegionalize: boolean; * headerTitle: string; * link: string; * fieldLink: string; * linkTitle: string; * fieldGtmSuffix: string; * fieldLinktype: string; * linkFormat: string; * headerChildItems: (FieldsBase & { * fields: HeaderChildItemsFieldsBase & { * headerChildItems: (FieldsBase & { * fields: HeaderChildItemsFieldsBase & { * headerChildItems: (FieldsBase & { * fields: HeaderChildItemsFieldsBase & { * headerChildItems: (FieldsBase & { * fields: HeaderChildItemsFieldsBase & { * headerChildItems: (FieldsBase & { * fields: { * headerChildItems: FieldsBase[]; * }; * })[]; * }; * })[]; * }; * })[]; * }; * })[]; * }; * })[]; * }} Level1ItemsFields * * @typedef {{ * getItem?: { * __typename: 'irHeaderV2'; * fields: { * modalTitle: string; * modalSubtitle: string; * bannerTitle: string; * bannerContinue: string; * changeRegion: string; * cookieAlertMessage: string; * cookieAlertTimeout: number; * cookiePolicyLink: string; * domainRedirectRulesJson: string; * addSearch: boolean; * yextAnswers: boolean; * showStockFeed: boolean; * level1Items: (FieldsBase & { * fields: Level1ItemsFields; * })[]; * linksLeftSide: { * id: string; * name: string; * type: string; * }[]; * linksRightSide: { * id: string; * name: string; * type: string; * }[]; * languageSelector: { * id: string; * name: string; * type: string; * }; * }; * }; * }} HeaderQueryData */ export const getHeaderDataQuery = /* GraphQL */ ` query getHeaderDataQuery($channelToken: String!, $id: ID!) { getItem(channelToken: $channelToken, id: $id) { __typename id name type ...IRHeaderv2Data } } fragment IRHeaderv2Data on irHeaderV2 { fields { modalTitle modalSubtitle bannerTitle bannerContinue changeRegion cookieAlertMessage cookieAlertTimeout cookiePolicyLink domainRedirectRulesJson addSearch yextAnswers showStockFeed level1Items { ...IRProductPageLev1Data ...IRProductCategoryPageLev1Data ...IRArticlePageLev1Data ...IRLinkItemLev1Data } linksLeftSide { ...IRLinkItemLev1Data } linksRightSide { ...IRLinkItemLev1Data } languageSelector { ...IRRegionalFormV3Data } } } fragment IRProductPageLev1Data on irProductPageV1 { id name type fields { fieldRegionalize headerTitle headerDescription fieldListpagetitle headerChildItems { ...IRProductPageLev2Data ...IRProductCategoryPageLev2Data ...IRArticlePageLev2Data ...IRLinkItemLev2Data } } } fragment IRProductPageLev2Data on irProductPageV1 { id name type fields { fieldRegionalize headerTitle headerDescription fieldListpagetitle headerChildItems { ...IRProductPageLev3Data ...IRProductCategoryPageLev3Data ...IRArticlePageLev3Data ...IRLinkItemLev3Data } } } fragment IRProductPageLev3Data on irProductPageV1 { id name type fields { fieldRegionalize headerTitle headerDescription fieldListpagetitle headerChildItems { ...IRProductPageLev4Data ...IRProductCategoryPageLev4Data ...IRArticlePageLev4Data ...IRLinkItemLev4Data } } } fragment IRProductPageLev4Data on irProductPageV1 { id name type fields { fieldRegionalize headerTitle headerDescription fieldListpagetitle headerChildItems { ...IRProductPageLev5Data ...IRProductCategoryPageLev5Data ...IRArticlePageLev5Data ...IRLinkItemLev5Data } } } fragment IRProductPageLev5Data on irProductPageV1 { id name type fields { fieldRegionalize headerTitle headerDescription fieldListpagetitle headerChildItems { ...IRProductPageLev6Data ...IRProductCategoryPageLev6Data ...IRArticlePageLev6Data ...IRLinkItemLev6Data } } } fragment IRProductPageLev6Data on irProductPageV1 { id name type fields { fieldRegionalize headerTitle headerDescription fieldListpagetitle } } fragment IRProductCategoryPageLev1Data on irProductCategoryPageV1 { id name type fields { fieldRegionalize headerTitle fieldListpagetitle headerChildItems { ...IRProductPageLev2Data ...IRProductCategoryPageLev2Data ...IRArticlePageLev2Data ...IRLinkItemLev2Data } } } fragment IRProductCategoryPageLev2Data on irProductCategoryPageV1 { id name type fields { fieldRegionalize headerTitle fieldListpagetitle headerChildItems { ...IRProductPageLev3Data ...IRProductCategoryPageLev3Data ...IRArticlePageLev3Data ...IRLinkItemLev3Data } } } fragment IRProductCategoryPageLev3Data on irProductCategoryPageV1 { id name type fields { fieldRegionalize headerTitle fieldListpagetitle headerChildItems { ...IRProductPageLev4Data ...IRProductCategoryPageLev4Data ...IRArticlePageLev4Data ...IRLinkItemLev4Data } } } fragment IRProductCategoryPageLev4Data on irProductCategoryPageV1 { id name type fields { fieldRegionalize headerTitle fieldListpagetitle headerChildItems { ...IRProductPageLev5Data ...IRProductCategoryPageLev5Data ...IRArticlePageLev5Data ...IRLinkItemLev5Data } } } fragment IRProductCategoryPageLev5Data on irProductCategoryPageV1 { id name type fields { fieldRegionalize headerTitle fieldListpagetitle headerChildItems { ...IRProductPageLev6Data ...IRProductCategoryPageLev6Data ...IRArticlePageLev6Data ...IRLinkItemLev6Data } } } fragment IRProductCategoryPageLev6Data on irProductCategoryPageV1 { id name type fields { fieldRegionalize headerTitle fieldListpagetitle } } fragment IRArticlePageLev1Data on irArticlePageV1 { id name type fields { fieldRegionalize headerTitle fieldListpagetitle headerChildItems { ...IRProductPageLev2Data ...IRProductCategoryPageLev2Data ...IRArticlePageLev2Data ...IRLinkItemLev2Data } } } fragment IRArticlePageLev2Data on irArticlePageV1 { id name type fields { fieldRegionalize headerTitle fieldListpagetitle headerChildItems { ...IRProductPageLev3Data ...IRProductCategoryPageLev3Data ...IRArticlePageLev3Data ...IRLinkItemLev3Data } } } fragment IRArticlePageLev3Data on irArticlePageV1 { id name type fields { fieldRegionalize headerTitle fieldListpagetitle headerChildItems { ...IRProductPageLev4Data ...IRProductCategoryPageLev4Data ...IRArticlePageLev4Data ...IRLinkItemLev4Data } } } fragment IRArticlePageLev4Data on irArticlePageV1 { id name type fields { fieldRegionalize headerTitle fieldListpagetitle headerChildItems { ...IRProductPageLev5Data ...IRProductCategoryPageLev5Data ...IRArticlePageLev5Data ...IRLinkItemLev5Data } } } fragment IRArticlePageLev5Data on irArticlePageV1 { id name type fields { fieldRegionalize headerTitle fieldListpagetitle headerChildItems { ...IRProductPageLev6Data ...IRProductCategoryPageLev6Data ...IRArticlePageLev6Data ...IRLinkItemLev6Data } } } fragment IRArticlePageLev6Data on irArticlePageV1 { id name type fields { fieldRegionalize headerTitle fieldListpagetitle } } fragment IRLinkItemLev1Data on irLinkItemV1 { id name type fields { flagRegionalize headerTitle link fieldLink linkTitle fieldGtmSuffix fieldLinktype linkFormat headerChildItems { ...IRProductPageLev2Data ...IRProductCategoryPageLev2Data ...IRArticlePageLev2Data ...IRLinkItemLev2Data } } } fragment IRLinkItemLev2Data on irLinkItemV1 { id name type fields { flagRegionalize headerTitle link fieldLink linkTitle fieldGtmSuffix fieldLinktype linkFormat headerChildItems { ...IRProductPageLev3Data ...IRProductCategoryPageLev3Data ...IRArticlePageLev3Data ...IRLinkItemLev3Data } } } fragment IRLinkItemLev3Data on irLinkItemV1 { id name type fields { flagRegionalize headerTitle link fieldLink linkTitle fieldGtmSuffix fieldLinktype linkFormat headerChildItems { ...IRProductPageLev4Data ...IRProductCategoryPageLev4Data ...IRArticlePageLev4Data ...IRLinkItemLev4Data } } } fragment IRLinkItemLev4Data on irLinkItemV1 { id name type fields { flagRegionalize headerTitle link fieldLink linkTitle fieldGtmSuffix fieldLinktype linkFormat headerChildItems { ...IRProductPageLev5Data ...IRProductCategoryPageLev5Data ...IRArticlePageLev5Data ...IRLinkItemLev5Data } } } fragment IRLinkItemLev5Data on irLinkItemV1 { id name type fields { flagRegionalize headerTitle link fieldLink linkTitle fieldGtmSuffix fieldLinktype linkFormat headerChildItems { ...IRProductPageLev6Data ...IRProductCategoryPageLev6Data ...IRArticlePageLev6Data ...IRLinkItemLev6Data } } } fragment IRLinkItemLev6Data on irLinkItemV1 { id name type fields { flagRegionalize headerTitle link fieldLink linkTitle fieldGtmSuffix fieldLinktype linkFormat } } fragment IRRegionalFormV3Data on irRegionalFormV3 { fields { fieldSelect fieldRegion choose continue continents } } `;