{"version":3,"file":"static/chunks/668-9c53f478679b12bd.js","mappings":"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","sources":["webpack://_N_E/../../libs/osc/dialog/src/lib/dialog.tsx","webpack://_N_E/../../libs/osc/dialog/src/lib/dialog-alert.tsx","webpack://_N_E/../../libs/osc/dialog/src/lib/dialog-action-buttons.tsx","webpack://_N_E/../../libs/osc/dialog/src/lib/dialog-action.tsx","webpack://_N_E/../../libs/osc/dialog/src/index.ts","webpack://_N_E/../../libs/osc/smb-profile-switcher/src/lib/osc-smb-multi-business-modal.tsx","webpack://_N_E/../../libs/osc/smb-profile-switcher/src/lib/gql/queries.ts","webpack://_N_E/../../libs/osc/smb-profile-switcher/src/lib/hooks/useSmbMultiBusinessToggle.tsx","webpack://_N_E/../../libs/osc/smb-profile-switcher/src/lib/osc-smb-profile-switcher.tsx","webpack://_N_E/../../libs/osc/smb-profile-switcher/src/index.ts","webpack://_N_E/./components/osc-search-form/search-form.utils.ts"],"sourcesContent":["import type * as React from 'react';\nimport type { DialogOverlayProps } from '@reach/dialog';\nimport { DialogContent, DialogOverlay } from '@reach/dialog';\nimport cx from 'classnames';\nimport { ControlClose } from '@dx-ui/osc-controls';\nimport { useTranslation } from 'next-i18next';\n\nexport type Dialog = {\n  /** aria label for the modal */\n  ariaLabel: string;\n  /** The size of the modal */\n  size?: 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | '4xl' | '5xl' | '6xl' | 'full' | 'container';\n  title?: string;\n  className?: React.HTMLAttributes<HTMLDivElement>['className'];\n  contentClassName?: React.HTMLAttributes<HTMLDivElement>['className'];\n  bottomContent?: React.ReactNode;\n  /** Hides the close button and prevents the modal from closing when the user clicks outside the modal or presses the Escape key */\n  preventCloseOnDismiss?: boolean;\n} & DialogOverlayProps;\n\n/**\n * Used to present content above the page and sets focus on first interactive element, which is the Close button if a title is provided.\n */\nexport const Dialog: React.FC<React.PropsWithChildren<Dialog>> = ({\n  ariaLabel,\n  children,\n  contentClassName,\n  //Reach UI definition is wrong. This will be fixed when v2 dialog fully ships\n\n  onDismiss,\n  title,\n  className,\n  size = 'md',\n  bottomContent,\n  preventCloseOnDismiss,\n  ...rest\n}) => {\n  const showCloseButton = onDismiss && !preventCloseOnDismiss;\n\n  return (\n    <DialogOverlay\n      allowPinchZoom={true}\n      className=\"dialog-overlay overflow-hidden\"\n      {...(!preventCloseOnDismiss && { onDismiss })}\n      {...rest}\n    >\n      <div className=\"h-full overflow-auto sm:py-4 lg:py-12\">\n        <DialogContent\n          className={cx(\n            'dialog-content my-0 flex flex-col',\n            {\n              'max-w-sm': size === 'sm',\n              'max-w-md': size === 'md',\n              'max-w-lg': size === 'lg',\n              'max-w-xl': size === 'xl',\n              'max-w-2xl': size === '2xl',\n              'max-w-3xl': size === '3xl',\n              'max-w-4xl': size === '4xl',\n              'max-w-5xl': size === '5xl',\n              'max-w-6xl': size === '6xl',\n              'max-w-full': size === 'full',\n              'w-full lg:max-w-[min(90%,calc(1440px-5rem))]': size === 'container',\n            },\n            contentClassName\n          )}\n          aria-label={ariaLabel}\n        >\n          {title && (\n            <div className=\"relative mb-2 border-b border-border pb-3.5\">\n              <h2\n                className=\"mx-4 text-center font-bold brand-ou:text-primary brand-wa:text-xl brand-wa:font-light brand-wa:text-text brand-wa:md:text-2xl\"\n                aria-label={ariaLabel}\n                aria-live=\"polite\"\n                data-osc-product=\"osc-dialog-title\"\n              >\n                {title}\n              </h2>\n              {showCloseButton ? <CloseButton onDismiss={onDismiss} /> : null}\n            </div>\n          )}\n          {!title && showCloseButton ? (\n            <div className=\"relative py-1\">\n              {showCloseButton ? <CloseButton onDismiss={onDismiss} /> : null}\n            </div>\n          ) : null}\n          <div className={cx('p-1', className)}>{children}</div>\n          {bottomContent}\n        </DialogContent>\n      </div>\n    </DialogOverlay>\n  );\n};\n\nfunction CloseButton({ onDismiss }: Pick<Dialog, 'onDismiss'>) {\n  const { t } = useTranslation('osc-dialog');\n  return (\n    <ControlClose onClick={onDismiss} className=\"absolute -end-2 -top-1.5\" label={t('close')} />\n  );\n}\n\nexport default Dialog;\n","import type * as React from 'react';\nimport { useTranslation } from 'next-i18next';\nimport cx from 'classnames';\nimport { Dialog } from './dialog';\n\nexport type DialogAlertProps = Omit<Dialog, 'showModalCTAs' | 'onCloseAndReset' | 'onDismiss'> & {\n  /**\n   * the text of the cancel button\n   */\n  cancel?: string | null;\n  /**\n   * the text of the confirm button\n   */\n  confirm?: string | null;\n  /**\n   * bolded heading text\n   */\n  heading?: string | null;\n  /**\n   * callback for when the cancel button is clicked.\n   * If this is not provided, the cancel button will not show.\n   */\n  onCancel?: React.DOMAttributes<HTMLButtonElement>['onClick'];\n  /**\n   * callback for when the confirm button is clicked.\n   */\n  onConfirm: NonNullable<React.DOMAttributes<HTMLButtonElement>['onClick']>;\n  /**\n   * whether or not to stack the buttons vertically\n   */\n  stackedButtons?: boolean;\n};\n\n/**\n * A dialog meant for a user to confirm an action. Escape will not close this dialog.\n */\nconst DialogAlert: React.FC<React.PropsWithChildren<DialogAlertProps>> = ({\n  children,\n  cancel,\n  confirm,\n  heading,\n  onCancel,\n  onConfirm,\n  stackedButtons = true,\n  ...rest\n}) => {\n  const { t } = useTranslation('osc-dialog');\n  const cancelText = cancel ?? t('cancel');\n  const confirmText = confirm ?? t('ok');\n  return (\n    <Dialog size=\"sm\" {...rest}>\n      <div className=\"text-center\">\n        {heading ? <h2 className=\"mb-3 text-xl font-bold leading-tight\">{heading}</h2> : null}\n        {children}\n      </div>\n      <div\n        className={cx('flex items-center justify-center pt-4', {\n          'space-x-2': !stackedButtons,\n          'flex-col space-y-2': stackedButtons,\n        })}\n      >\n        <button type=\"button\" className=\"btn btn-lg btn-primary w-full\" onClick={onConfirm}>\n          {confirmText}\n        </button>\n        {onCancel ? (\n          <button\n            type=\"button\"\n            className=\"btn btn-lg btn-primary-outline w-full\"\n            onClick={onCancel}\n          >\n            {cancelText}\n          </button>\n        ) : null}\n      </div>\n    </Dialog>\n  );\n};\n\nexport { DialogAlert };\nexport default DialogAlert;\n","import { useTranslation } from 'next-i18next';\nimport cx from 'classnames';\nimport { forwardRef } from 'react';\n\ntype ActionButton = {\n  adaDescription?: string;\n  label?: string;\n} & React.ComponentPropsWithRef<'button'>;\n\ntype EnablableActionButton = ActionButton & { isEnabled?: boolean };\n\nexport type ActionButtonProps = {\n  buttonOptions?: {\n    cancel?: ActionButton;\n    confirm?: ActionButton;\n    reset?: EnablableActionButton;\n  };\n  /** called when done button is activated */\n  onConfirm?: (event: React.MouseEvent | React.KeyboardEvent) => void;\n  onReset?: () => void;\n  onDismiss?: (event: React.MouseEvent | React.KeyboardEvent) => void;\n};\n\nconst Button = forwardRef<HTMLButtonElement, ActionButton>(\n  ({ label, adaDescription, className, ...rest }, forwardedRef) => {\n    return (\n      <button {...rest} className={cx('btn btn-lg', className)} ref={forwardedRef} type=\"button\">\n        {label}\n        {adaDescription ? <span className=\"sr-only\">{adaDescription}</span> : null}\n      </button>\n    );\n  }\n);\n\nButton.displayName = 'Button';\n\nexport function ActionButtons({\n  buttonOptions = {},\n  onReset,\n  onConfirm,\n  onDismiss,\n}: ActionButtonProps) {\n  const { t } = useTranslation('osc-dialog');\n  const { cancel, confirm, reset } = buttonOptions;\n  const resetBtnEnabled = reset?.isEnabled && reset?.label;\n\n  const buttons = [\n    {\n      ...confirm,\n      onClick: onConfirm,\n      label: confirm?.label ? confirm.label : t('done'),\n      className: 'btn-primary',\n      'data-testid': 'shop-modal-done-cta',\n      ref: confirm?.ref,\n    },\n    {\n      ...cancel,\n      onClick: onDismiss,\n      label: cancel?.label ? cancel.label : t('cancel'),\n      className: 'btn-primary-outline',\n      ref: cancel?.ref,\n    },\n  ].map((props) => <Button {...props} key={props.label} />);\n\n  return (\n    <div\n      className={cx(\n        'mb:pb-0 sticky bottom-0 flex flex-col gap-4 bg-bg px-1 pt-2 md:flex-row md:rtl:flex-row',\n        {\n          'md:justify-between': resetBtnEnabled,\n          'md:justify-end': !resetBtnEnabled,\n        }\n      )}\n    >\n      {resetBtnEnabled ? (\n        <div className=\"md:self-center\">\n          <button\n            className=\"btn btn-xl btn-primary-link w-full rounded-none\"\n            data-testid=\"shop-modal-reset-cta\"\n            onClick={() => onReset?.()}\n            ref={reset?.ref}\n            type=\"button\"\n          >\n            {reset?.label}\n            {reset?.adaDescription ? (\n              <span className=\"sr-only\" aria-live=\"assertive\" role=\"alert\">\n                {reset?.adaDescription}\n              </span>\n            ) : null}\n          </button>\n        </div>\n      ) : null}\n      <div className=\"flex flex-col gap-3 md:flex-row \">{buttons}</div>\n    </div>\n  );\n}\n","import Dialog from './dialog';\nimport { ActionButtons, type ActionButtonProps } from './dialog-action-buttons';\n\nexport type ActionDialogProps = Omit<Dialog, 'onDismiss'> & ActionButtonProps;\n\n/**\n * A dialog with two buttons for the user to take an action to cancel or accept.\n */\nexport function ActionDialog(props: ActionDialogProps) {\n  const { buttonOptions, onReset, onConfirm, onDismiss, ...dialogProps } = props;\n  const bottomContent = (\n    <ActionButtons\n      buttonOptions={buttonOptions}\n      onReset={onReset}\n      onConfirm={onConfirm}\n      onDismiss={onDismiss}\n    />\n  );\n  return <Dialog {...dialogProps} onDismiss={onDismiss} bottomContent={bottomContent} />;\n}\n","export * from './lib/dialog';\nexport * from './lib/dialog-alert';\nexport * from './lib/dialog-action';\nexport * from './lib/dialog-action-buttons';\n","import { useTranslation } from 'next-i18next';\nimport { Dialog } from '@dx-ui/osc-dialog';\nimport { useSMBProgramIdLocalStorage } from '@dx-ui/utilities-use-smb-context-local-storage';\nimport { useAuth } from '@dx-ui/framework-auth-provider';\nimport { useState } from 'react';\n\n/**\n * SMB Multi-Business modal. Displays multiple businesses from programAccountSummary and sets localStorage value `smbProgramId` for selected program.\n *\n * Use the `<SMBMultiBusinessModal/>` component inside of the `SMBMultiBusinessModalProvider` in order to show the multi-business modal\n * to shop for select business.\n * @param props\n */\nexport function SMBMultiBusinessModal({\n  onAccept,\n  onCancel,\n}: {\n  onAccept?: (selectedProgramId: number | null) => void;\n  onCancel?: () => void;\n}) {\n  const { t, ready } = useTranslation('osc-smb-profile-switcher');\n  const { smbProgramId, setSMBProgramId } = useSMBProgramIdLocalStorage();\n  const { guestInfo, isLoading } = useAuth();\n  const programAccountSummary = guestInfo?.hhonors?.programAccountSummary || [];\n  const firstAccountId = guestInfo?.hhonors?.programAccountSummary?.[0]?.accountId || null;\n  const preselectedBusiness = smbProgramId ?? firstAccountId;\n  const [selectedProgramId, setSelectedProgramId] = useState(preselectedBusiness);\n\n  function handleCancel() {\n    setSelectedProgramId(preselectedBusiness);\n    onCancel?.();\n  }\n\n  if (isLoading || !ready) {\n    return null;\n  }\n\n  const handleAccept = () => {\n    setSMBProgramId(selectedProgramId);\n    onAccept?.(selectedProgramId);\n  };\n\n  return (\n    <Dialog\n      ariaLabel={t('multiBusinessModal.header')}\n      title={t('multiBusinessModal.header')}\n      size=\"sm\"\n      onDismiss={handleCancel}\n    >\n      <fieldset>\n        <legend className=\"sr-only\">{t('multiBusinessModal.header')}</legend>\n        {programAccountSummary.map((programAccount, index) => {\n          const accountName = programAccount.accountName || '';\n          const businessOption = `businessOption${index + 1}`;\n          return (\n            <label key={programAccount.accountName} className=\"flex items-center py-2 font-bold\">\n              <input\n                type=\"radio\"\n                name=\"businessOption\"\n                value={businessOption}\n                checked={programAccount.accountId === selectedProgramId}\n                onChange={() =>\n                  programAccount.accountId && setSelectedProgramId(programAccount.accountId)\n                }\n                className=\"form-radio me-2 cursor-pointer self-center sm:self-auto\"\n              />\n              {accountName}\n            </label>\n          );\n        })}\n      </fieldset>\n      <div className=\"mt-3\">\n        <button\n          type=\"button\"\n          className=\"btn btn-xl btn-primary w-full whitespace-normal\"\n          onClick={handleAccept}\n        >\n          {t('multiBusinessModal.ok')}\n        </button>\n        <button\n          type=\"button\"\n          className=\"btn btn-xl btn-primary-outline mt-2 w-full whitespace-normal\"\n          onClick={handleCancel}\n        >\n          {t('multiBusinessModal.cancel')}\n        </button>\n      </div>\n    </Dialog>\n  );\n}\n","import type * as Types from './types';\n\nimport {\n  useQuery,\n  type QueryClient,\n  type FetchQueryOptions,\n  type UseQueryOptions,\n} from '@tanstack/react-query';\nimport type { DXError } from '@dx-ui/types-graphql';\n\nexport const GetSmbMultiBusinessToggleDocument = {\n  operationName: 'featureToggles',\n  operationString: `query featureToggles {\n  featureToggles(names: [\"smbMultiBusiness\"]) {\n    enabled\n    name\n  }\n}`,\n  originalOpName: 'getSmbMultiBusinessToggle',\n};\nexport function useGetSmbMultiBusinessToggleQuery<\n  TData = Types.GetSmbMultiBusinessToggleQuery,\n  TError = DXError\n>(\n  variables?: Types.GetSmbMultiBusinessToggleQueryVariables,\n  options?: Omit<UseQueryOptions<Types.GetSmbMultiBusinessToggleQuery, TError, TData>, 'queryKey'>\n) {\n  return useQuery<Types.GetSmbMultiBusinessToggleQuery, TError, TData>({\n    queryKey: [GetSmbMultiBusinessToggleDocument, variables],\n    ...options,\n  });\n}\nexport function serverSideGetSmbMultiBusinessToggleQuery(\n  queryClient: QueryClient,\n  variables?: Types.GetSmbMultiBusinessToggleQueryVariables,\n  options?: FetchQueryOptions<Types.GetSmbMultiBusinessToggleQuery>\n) {\n  return queryClient.fetchQuery<Types.GetSmbMultiBusinessToggleQuery>({\n    queryKey: [GetSmbMultiBusinessToggleDocument, variables],\n    ...options,\n  });\n}\n","import { getIsFeatureToggleEnabled } from '@dx-ui/utilities-feature-toggles-configs';\nimport { useGetSmbMultiBusinessToggleQuery } from '../gql/queries';\nimport { CDN_STALE_TIME } from '@dx-ui/framework-react-query';\n\nexport function useSMBMultiBusinessToggle() {\n  const { data, isLoading } = useGetSmbMultiBusinessToggleQuery(undefined, {\n    staleTime: CDN_STALE_TIME,\n  });\n\n  return {\n    isLoading,\n    smbMultiBusinessEnabled: getIsFeatureToggleEnabled({\n      featureToggleData: data,\n      name: 'smbMultiBusiness',\n    }),\n  };\n}\n","import { Trans, useTranslation } from 'next-i18next';\nimport { useAuth } from '@dx-ui/framework-auth-provider';\nimport type { SMBContextType } from '@dx-ui/utilities-use-smb-context-local-storage';\nimport {\n  useSMBContextLocalStorage,\n  useSMBProgramIdLocalStorage,\n} from '@dx-ui/utilities-use-smb-context-local-storage';\nimport cx from 'classnames';\nimport { useIsClient } from 'usehooks-ts';\nimport set from 'lodash/set';\nimport { SMBMultiBusinessModal } from './osc-smb-multi-business-modal';\nimport { useSMBMultiBusinessToggle } from './hooks/useSmbMultiBusinessToggle';\nimport { useEffect, useRef, useState } from 'react';\nimport { isBrowser } from '@dx-ui/utilities-is-browser';\n\ntype SMBProfileSwitcherProps = {\n  isSmbChecked: boolean;\n  onInputChange?: () => void;\n  onChangeBusiness?: () => void;\n} & React.HTMLAttributes<HTMLDivElement>;\n\n/**\n * SMB Profiler Switcher. Reads localStorage context value `smbContext` for initial state. Toggle subscribes to localStorage as it may be updated by other logic (session timeout, etc)\n *\n * @param props\n */\nexport function SMBProfileSwitcher({\n  className,\n  onInputChange,\n  isSmbChecked,\n  onChangeBusiness,\n}: SMBProfileSwitcherProps) {\n  const { t, ready: isTranslationNSReady } = useTranslation('osc-smb-profile-switcher');\n  const { smbContext, setSMBContext } = useSMBContextLocalStorage(true);\n  const { guestInfo, isLoading } = useAuth();\n  const isClient = useIsClient();\n  const { isLoading: toggleDataLoading, smbMultiBusinessEnabled } = useSMBMultiBusinessToggle();\n  const { isSMBProgramIdSet, smbProgramId, setSMBProgramId } = useSMBProgramIdLocalStorage();\n  const isInBusinessContext = smbContext === 'business';\n  const hasMultipleBusinesses = (guestInfo?.hhonors?.programAccountSummary?.length || 0) > 1;\n  const shouldShowMultiBusinessOption = smbMultiBusinessEnabled && hasMultipleBusinesses;\n  const isInBusinessButNoProgramIdSet = isInBusinessContext && !isSMBProgramIdSet;\n  const travelForBusinessChecked = shouldShowMultiBusinessOption\n    ? isInBusinessContext && isSMBProgramIdSet\n    : isInBusinessContext;\n  const showChangeBusinessBtn =\n    shouldShowMultiBusinessOption && isInBusinessContext && isSMBProgramIdSet;\n  const searchParams = new URLSearchParams(isBrowser ? window.location.search : undefined);\n\n  const [modalState, setModalState] = useState<{\n    isVisible: boolean;\n    onAccept: ((selectedProgramId: number | null) => void) | undefined;\n    onCancel: (() => void) | undefined;\n  }>({ isVisible: false, onAccept: undefined, onCancel: undefined });\n\n  async function focusOnCTA({ ctaId }: { ctaId: string }) {\n    const ctaElement: Promise<HTMLElement> = new Promise((resolve) => {\n      const intervalId = window.setInterval(() => {\n        const elem = document.querySelector(`#${ctaId}`);\n        if (elem) {\n          clearInterval(intervalId);\n          resolve(elem as HTMLElement);\n        }\n      }, 50);\n    });\n    await ctaElement.then((elm) => elm.focus());\n  }\n\n  const hideMultiBusinessModal = () =>\n    setModalState({ onAccept: undefined, onCancel: undefined, isVisible: false });\n\n  const handleChangeBusiness = () =>\n    Promise.resolve()\n      .then(() => onChangeBusiness?.())\n      .then((callback?: (() => void) | void) => {\n        setModalState({\n          isVisible: true,\n          onAccept: (selectedProgramId) => {\n            hideMultiBusinessModal();\n            void focusOnCTA({ ctaId: 'changeBusinessCTA' });\n            if (selectedProgramId !== smbProgramId) {\n              callback?.();\n            }\n          },\n          onCancel: () => {\n            hideMultiBusinessModal();\n          },\n        });\n      })\n      .catch(console.error); // eslint-disable-line no-console\n\n  const handleInputChange = async () => {\n    const nextContext = smbContext === 'personal' ? 'business' : 'personal';\n    const switchingToBusiness = nextContext === 'business';\n    const shouldShowMultiBusinessModal = shouldShowMultiBusinessOption && switchingToBusiness;\n    await Promise.resolve()\n      .then(() => {\n        if (shouldShowMultiBusinessModal) {\n          return new Promise((resolve, reject) => {\n            setModalState({\n              isVisible: true,\n              onAccept: () => {\n                hideMultiBusinessModal();\n                resolve({});\n              },\n              onCancel: () => {\n                hideMultiBusinessModal();\n                // eslint-disable-next-line @typescript-eslint/prefer-promise-reject-errors\n                reject();\n              },\n            });\n          });\n        }\n      })\n      .then(() => onInputChange?.())\n      .then((callback?: ((context: SMBContextType) => void) | void) => {\n        if (window?.digitalData && window?._satellite) {\n          set(\n            window.digitalData,\n            'user[0].profile[0].attributes.profileStatus',\n            switchingToBusiness ? 'business_travel' : nextContext\n          );\n          set(window.digitalData, 'click.clickID', 'profile_switch_btn');\n          window._satellite?.track?.('global_click');\n        } else {\n          console.warn('digitalData or _satellite not found'); // eslint-disable-line no-console\n        }\n        callback?.(nextContext);\n        setSMBContext(nextContext);\n        if (nextContext === 'personal' && isSMBProgramIdSet) {\n          setSMBProgramId(null);\n        }\n        void focusOnCTA({ ctaId: 'profileSwitch' });\n      })\n      .catch((err) => {\n        console.error(err); // eslint-disable-line no-console\n      });\n  };\n  const firstBusinessName = guestInfo?.hhonors?.programAccountSummary[0]?.accountName || '';\n  const selectedBusinessName =\n    guestInfo?.hhonors?.programAccountSummary.find(\n      (programAccount) => programAccount.accountId === smbProgramId\n    )?.accountName || '';\n  const businessName = shouldShowMultiBusinessOption ? selectedBusinessName : firstBusinessName;\n  const SMBContext = travelForBusinessChecked ? businessName : t('personalTravel');\n  const initializedMultiBusinessModal = useRef(false);\n  const programAccountIdParam = isNaN(Number(searchParams.get('programAccountId')))\n    ? undefined\n    : Number(searchParams.get('programAccountId'));\n  const hasSetProgramId = useRef(false);\n\n  useEffect(() => {\n    if (\n      shouldShowMultiBusinessOption &&\n      isInBusinessButNoProgramIdSet &&\n      isSmbChecked &&\n      !initializedMultiBusinessModal.current\n    ) {\n      initializedMultiBusinessModal.current = true;\n      setModalState({\n        isVisible: true,\n        onAccept: () => {\n          hideMultiBusinessModal();\n        },\n        onCancel: async () => {\n          hideMultiBusinessModal();\n          await Promise.resolve()\n            .then(() => onInputChange?.())\n            .then((callback?: ((context: SMBContextType) => void) | void) => {\n              const url = new URL(window.location.href);\n              url.searchParams.delete('smbRate');\n              const newUrl = url.toString();\n              window.history.replaceState(\n                { ...window.history.state, as: newUrl, url: newUrl },\n                '',\n                newUrl\n              );\n              callback?.('personal');\n              setSMBContext('personal');\n            })\n            .catch((err) => {\n              console.error(err); // eslint-disable-line no-console\n            });\n        },\n      });\n    }\n  }, [\n    isInBusinessButNoProgramIdSet,\n    onInputChange,\n    setSMBContext,\n    shouldShowMultiBusinessOption,\n    isSmbChecked,\n  ]);\n\n  useEffect(() => {\n    if (programAccountIdParam) {\n      if (shouldShowMultiBusinessOption && !hasSetProgramId.current) {\n        hasSetProgramId.current = true;\n        if (!isInBusinessContext) {\n          setSMBContext('business');\n        }\n        setSMBProgramId(programAccountIdParam);\n      }\n      if (isSMBProgramIdSet) {\n        const url = new URL(window.location.href);\n        url.searchParams.delete('programAccountId');\n        const newUrl = url.toString();\n        window.history.replaceState(\n          { ...window.history.state, as: newUrl, url: newUrl },\n          '',\n          newUrl\n        );\n      }\n    }\n  }, [\n    isInBusinessContext,\n    isSMBProgramIdSet,\n    programAccountIdParam,\n    setSMBContext,\n    setSMBProgramId,\n    shouldShowMultiBusinessOption,\n  ]);\n\n  if (\n    isLoading ||\n    !isClient ||\n    !smbContext ||\n    !guestInfo?.hhonors?.isSMBMember ||\n    !isTranslationNSReady ||\n    toggleDataLoading\n  )\n    return null;\n\n  return (\n    <>\n      <div className={cx('flex flex-col flex-wrap items-start bg-bg-alt px-4 py-2.5', className)}>\n        <label className=\"flex cursor-pointer items-center text-lg font-bold\">\n          <span className=\"first-letter:capitalize\">{t('businessTravel')}</span>\n          <div className=\"relative mx-2 inline-flex\">\n            <input\n              id=\"profileSwitch\"\n              aria-describedby=\"currentlyBookingFor\"\n              className=\"peer sr-only\"\n              type=\"checkbox\"\n              onChange={handleInputChange}\n              checked={travelForBusinessChecked}\n            />\n            <div className=\"peer h-6 w-12 rounded-full bg-[#878787] ring-offset-1 after:absolute after:top-[2px] after:size-5 after:rounded-full after:border after:border-bg-disabled after:bg-bg after:transition-all after:content-[''] peer-checked:bg-hilton peer-checked:after:border-bg peer-focus:outline-none peer-focus:ring-2 peer-focus:ring-hilton motion-reduce:transition-none ltr:after:left-[4px] peer-checked:ltr:after:translate-x-full rtl:after:right-[4px] peer-checked:rtl:after:-translate-x-full\" />\n          </div>\n        </label>\n        <div className=\"flex text-sm\">\n          <span className=\"relative self-center\">\n            <span id=\"currentlyBookingFor\" aria-hidden=\"true\">\n              <Trans\n                t={t}\n                i18nKey=\"youAreCurrentlyBookingFor\"\n                values={{ SMBContext }}\n                components={{ b: <strong /> }}\n              />\n              {travelForBusinessChecked ? (\n                <span>&nbsp;– {t('businessTravelInfoMsg')}&nbsp;</span>\n              ) : null}\n            </span>\n            {showChangeBusinessBtn ? (\n              <button\n                id=\"changeBusinessCTA\"\n                aria-describedby=\"currentlyBookingFor\"\n                className=\"btn-primary-link\"\n                type=\"button\"\n                onClick={handleChangeBusiness}\n              >\n                {t('changeBusiness')}\n              </button>\n            ) : null}\n          </span>\n        </div>\n      </div>\n      {modalState.isVisible ? (\n        <SMBMultiBusinessModal onAccept={modalState.onAccept} onCancel={modalState.onCancel} />\n      ) : null}\n    </>\n  );\n}\n\nexport type { SMBProfileSwitcherProps };\nexport default SMBProfileSwitcher;\n","export * from './lib/osc-smb-profile-switcher';\nexport * from './lib/osc-smb-multi-business-modal';\nexport * from './lib/gql/queries';\nexport * from './lib/gql/types';\n","import { RatePlanCodes } from '../../constants/rate-plan-codes';\nimport type { QueryParameters } from '../../constants';\nimport type { FormDataValues } from '@dx-ui/osc-shop-form';\n\nexport const mapRatesToSearchForm = (queryParamsObj: QueryParameters | undefined) => ({\n  aarpRate: queryParamsObj?.token.includes(RatePlanCodes.AARP),\n  corpAccount: queryParamsObj?.corporateCode,\n  employeeRate: queryParamsObj?.employeeRate,\n  friendsAndFamilyRate: queryParamsObj?.friendsAndFamilyRate,\n  gvmtRates: queryParamsObj?.token.includes(RatePlanCodes.GOVERNMENT_MILITARY),\n  groupCode: queryParamsObj?.groupCode,\n  ownerVIPRate: queryParamsObj?.ownerVIPRate,\n  promoCode: queryParamsObj?.promoCode,\n  seniorRate: queryParamsObj?.token.includes(RatePlanCodes.SENIOR),\n  travelAgents: queryParamsObj?.travelAgentRate,\n  aaaRate: queryParamsObj?.token.includes(RatePlanCodes.AAA),\n  redeemPts: queryParamsObj?.token.includes(RatePlanCodes.USE_POINTS) || queryParamsObj?.redeemPts,\n  ownerHGVRate: queryParamsObj?.ownerHGVRate,\n});\n\nexport const mapRatesToSearchUriBuilder = (\n  queryParamsObj: QueryParameters | undefined,\n  usePoints = false\n) => ({\n  aarp: queryParamsObj?.token.includes(RatePlanCodes.AARP),\n  corpAccount: queryParamsObj?.corporateCode,\n  employeeRate: queryParamsObj?.employeeRate,\n  friendsAndFamilyRate: queryParamsObj?.friendsAndFamilyRate,\n  government: queryParamsObj?.token.includes(RatePlanCodes.GOVERNMENT_MILITARY),\n  groupCode: queryParamsObj?.groupCode,\n  ownerVIPRate: queryParamsObj?.ownerVIPRate,\n  offerId: queryParamsObj?.offerId,\n  promoCode: queryParamsObj?.promoCode,\n  pnd: queryParamsObj?.pnd,\n  senior: queryParamsObj?.token.includes(RatePlanCodes.SENIOR),\n  travelAgents: queryParamsObj?.travelAgentRate,\n  tripleA: queryParamsObj?.token.includes(RatePlanCodes.AAA),\n  usePoints: queryParamsObj?.token.includes(RatePlanCodes.USE_POINTS) || usePoints,\n  ownerHGVRate: queryParamsObj?.ownerHGVRate,\n});\n\nexport const isNoRatesOrRedeemPtsSelected = (formData: FormDataValues) => {\n  const specialRates = formData?.specialRates;\n  //no special rate applied\n  if (specialRates && Object.values(specialRates).filter(Boolean).length === 0) return true;\n  //or only one special rate applied and that rate is usePoints\n  else if (\n    specialRates &&\n    Object.values(specialRates).filter(Boolean).length < 2 &&\n    specialRates.redeemPts\n  )\n    return true;\n  return false;\n};\n"],"names":["Dialog","ariaLabel","children","contentClassName","onDismiss","title","className","size","bottomContent","preventCloseOnDismiss","rest","showCloseButton","DialogOverlay","allowPinchZoom","div","DialogContent","cx","aria-label","h2","aria-live","data-osc-product","CloseButton","t","useTranslation","ControlClose","onClick","label","SMBMultiBusinessModal","onAccept","onCancel","ready","smbProgramId","setSMBProgramId","useSMBProgramIdLocalStorage","guestInfo","isLoading","useAuth","programAccountSummary","hhonors","firstAccountId","accountId","preselectedBusiness","selectedProgramId","setSelectedProgramId","useState","handleCancel","fieldset","legend","map","programAccount","index","accountName","businessOption","input","type","name","value","checked","onChange","button","handleAccept","Button","forwardRef","adaDescription","forwardedRef","span","displayName","GetSmbMultiBusinessToggleDocument","operationName","operationString","originalOpName","SMBProfileSwitcher","onInputChange","isSmbChecked","onChangeBusiness","isTranslationNSReady","smbContext","setSMBContext","useSMBContextLocalStorage","isClient","useIsClient","toggleDataLoading","smbMultiBusinessEnabled","useSMBMultiBusinessToggle","data","options","useGetSmbMultiBusinessToggleQuery","staleTime","CDN_STALE_TIME","useQuery","queryKey","undefined","getIsFeatureToggleEnabled","featureToggleData","isSMBProgramIdSet","isInBusinessContext","hasMultipleBusinesses","length","shouldShowMultiBusinessOption","isInBusinessButNoProgramIdSet","travelForBusinessChecked","showChangeBusinessBtn","searchParams","URLSearchParams","isBrowser","window","location","search","modalState","setModalState","isVisible","focusOnCTA","ctaId","ctaElement","Promise","intervalId","setInterval","elem","document","querySelector","clearInterval","resolve","then","elm","focus","hideMultiBusinessModal","handleInputChange","nextContext","switchingToBusiness","shouldShowMultiBusinessModal","reject","digitalData","_satellite","set","track","console","warn","callback","catch","error","err","selectedBusinessName","find","businessName","firstBusinessName","SMBContext","initializedMultiBusinessModal","useRef","programAccountIdParam","isNaN","Number","get","hasSetProgramId","useEffect","current","url","URL","href","delete","newUrl","toString","history","replaceState","state","as","isSMBMember","id","aria-describedby","aria-hidden","Trans","i18nKey","values","components","b","strong","handleChangeBusiness","mapRatesToSearchForm","aarpRate","queryParamsObj","includes","RatePlanCodes","AARP","corpAccount","corporateCode","employeeRate","friendsAndFamilyRate","gvmtRates","token","GOVERNMENT_MILITARY","groupCode","ownerVIPRate","promoCode","seniorRate","SENIOR","travelAgents","travelAgentRate","aaaRate","AAA","redeemPts","USE_POINTS","ownerHGVRate","mapRatesToSearchUriBuilder","usePoints","aarp","government","offerId","pnd","senior","tripleA"],"sourceRoot":"","ignoreList":[]}