{"version":3,"file":"SearchDropdown.cjs","names":["_styled","_interopRequireDefault","require","_react","_OdysseyDesignTokensContext","_Typography","_ComposablePicker","_Picker","_jsxRuntime","e","__esModule","default","OptionAdornmentContainer","styled","shouldForwardProp","prop","adornmentSize","isTagContainer","odysseyDesignTokens","position","bottom","alignSelf","width","Spacing5","height","overflow","marginInlineEnd","Spacing3","marginInlineStart","svg","img","top","left","transform","Spacing8","Spacing4","maxHeight","Spacing2","display","CustomOptionContainer","justifyContent","CustomOptionLeftContainer","OptionAdornment","adornment","isImageAdornment","jsx","children","alt","role","src","Extra","content","size","onClick","handleClick","useCallback","event","stopPropagation","CustomOption","muiProps","option","description","label","metaData","extra","isInteractive","handleOptionClick","preventDefault","extendedMuiProps","useMemo","undefined","Option","hasAdornment","jsxs","OptionLabelContainer","Heading6","component","OptionDescriptionComponent","OptionMetadataComponent","SearchDropdown","ariaDescribedBy","defaultValue","errorMessage","errorMessageList","getIsOptionEqualToValue","groupOptionsBy","id","idOverride","inputValue","isCustomValueAllowed","isDisabled","isFullWidth","isLoading","isOptional","isReadOnly","isVirtualized","isVirtualizedProp","hint","HintLinkComponent","name","nameOverride","onBlur","onChange","onChangeProp","onInputChange","onInputChangeProp","onFocus","options","value","testId","translate","useOdysseyDesignTokens","customOptionRender","ComposablePicker","renderOption","MemoizedSearchDropdown","exports","memo","displayName"],"sources":["../../../../src/labs/OdysseyPickers/SearchDropdown.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2023-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport styled from \"@emotion/styled\";\nimport { memo, ReactElement, ReactNode, useCallback, useMemo } from \"react\";\n\nimport {\n  DesignTokens,\n  useOdysseyDesignTokens,\n} from \"../../OdysseyDesignTokensContext.js\";\nimport { Heading6 } from \"../../Typography.js\";\nimport {\n  type AdornmentSize,\n  type BasePickerProps,\n  type BasePickerType,\n  type BaseRenderOptionProps,\n  ComposablePicker,\n} from \"./ComposablePicker.js\";\nimport {\n  type BaseOptionProps,\n  type LabelDescription,\n  type Metadata,\n  Option,\n  OptionDescriptionComponent,\n  OptionLabelContainer,\n  OptionMetadataComponent,\n  OptionProps,\n} from \"./Picker.js\";\n\ntype Adornment = ReactNode | string;\ntype ExtraType = {\n  content: ReactNode | string;\n  onClick: () => void;\n  size?: AdornmentSize;\n};\n\ntype AdornmentLabelDescription = LabelDescription & {\n  adornment: Adornment;\n  extra?: ExtraType;\n  isInteractive?: boolean;\n  onClick?: () => void;\n};\n\nexport type CustomOptionType = AdornmentLabelDescription & Partial<Metadata>;\n\nconst OptionAdornmentContainer = styled(\"div\", {\n  shouldForwardProp: (prop) =>\n    prop !== \"odysseyDesignTokens\" &&\n    prop !== \"adornmentSize\" &&\n    prop !== \"isTagContainer\",\n})<{\n  adornmentSize?: AdornmentSize;\n  isTagContainer?: boolean;\n  odysseyDesignTokens: DesignTokens;\n  position?: \"left\" | \"right\";\n}>(\n  ({\n    adornmentSize = \"small\",\n    isTagContainer = false,\n\n    odysseyDesignTokens,\n    position = \"left\",\n  }) => ({\n    position: \"relative\",\n    // push icon up by one px for better visual alignment\n    bottom: \"1px\",\n    alignSelf: \"flex-start\",\n    width: odysseyDesignTokens.Spacing5,\n    height: odysseyDesignTokens.Spacing5,\n    overflow: \"hidden\",\n\n    ...(position === \"left\" && {\n      marginInlineEnd: odysseyDesignTokens.Spacing3,\n    }),\n    ...(position === \"right\" && {\n      marginInlineStart: odysseyDesignTokens.Spacing3,\n    }),\n\n    svg: {\n      width: \"100%\",\n      height: \"auto\",\n    },\n\n    img: {\n      position: \"absolute\",\n      top: \"50%\",\n      left: \"50%\",\n      width: \"100%\",\n      transform: \"translate(-50%, -50%)\",\n    },\n\n    ...(adornmentSize === \"large\" &&\n      !isTagContainer && {\n        bottom: 0,\n        width: odysseyDesignTokens.Spacing8,\n        height: odysseyDesignTokens.Spacing8,\n      }),\n\n    ...(isTagContainer && {\n      bottom: 0,\n      alignSelf: \"center\",\n      width: odysseyDesignTokens.Spacing4,\n      height: \"auto\",\n      maxHeight: odysseyDesignTokens.Spacing4,\n      marginInlineEnd: odysseyDesignTokens.Spacing2,\n\n      svg: {\n        display: \"flex\",\n        width: \"100%\",\n        height: \"auto\",\n      },\n    }),\n  }),\n);\n\ntype OptionAdornmentProps = {\n  adornment: Adornment;\n  adornmentSize: AdornmentSize;\n  odysseyDesignTokens: DesignTokens;\n};\n\ntype ExtraProps = {\n  content: Adornment;\n  odysseyDesignTokens: DesignTokens;\n  onClick: () => void;\n  size?: AdornmentSize;\n};\n\nconst CustomOptionContainer = styled(\"div\", {\n  shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{ odysseyDesignTokens: DesignTokens }>(() => ({\n  display: \"flex\",\n  justifyContent: \"space-between\",\n  width: \"100%\",\n}));\n\nconst CustomOptionLeftContainer = styled(\"div\", {\n  shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{ odysseyDesignTokens: DesignTokens }>(() => ({\n  display: \"flex\",\n}));\n\nconst OptionAdornment = ({\n  adornment,\n  adornmentSize,\n  odysseyDesignTokens,\n}: OptionAdornmentProps) => {\n  const isImageAdornment = typeof adornment === \"string\";\n\n  if (isImageAdornment) {\n    return (\n      <OptionAdornmentContainer\n        adornmentSize={adornmentSize}\n        odysseyDesignTokens={odysseyDesignTokens}\n      >\n        <img alt=\"\" role=\"presentation\" src={adornment} />\n      </OptionAdornmentContainer>\n    );\n  } else {\n    return (\n      <OptionAdornmentContainer\n        adornmentSize={adornmentSize}\n        odysseyDesignTokens={odysseyDesignTokens}\n      >\n        {adornment}\n      </OptionAdornmentContainer>\n    );\n  }\n};\n\nconst Extra = ({ content, size, odysseyDesignTokens, onClick }: ExtraProps) => {\n  const handleClick = useCallback(\n    (event: React.MouseEvent) => {\n      event.stopPropagation();\n      onClick();\n    },\n    [onClick],\n  );\n\n  return (\n    <OptionAdornmentContainer\n      adornmentSize={size}\n      odysseyDesignTokens={odysseyDesignTokens}\n      onClick={handleClick}\n    >\n      {content}\n    </OptionAdornmentContainer>\n  );\n};\n\nconst CustomOption = <OptionType extends CustomOptionType>({\n  adornmentSize,\n  muiProps,\n  odysseyDesignTokens,\n  option,\n}: BaseOptionProps &\n  OptionProps<OptionType> & {\n    adornmentSize: AdornmentSize;\n  }) => {\n  const {\n    adornment,\n    description,\n    label,\n    metaData,\n    extra,\n    onClick,\n    isInteractive = true,\n  } = option;\n\n  const handleOptionClick = useCallback(\n    (event: React.MouseEvent) => {\n      if (!isInteractive) {\n        event.preventDefault();\n        return;\n      }\n      event.stopPropagation();\n      onClick?.();\n    },\n    [onClick, isInteractive],\n  );\n\n  const extendedMuiProps = useMemo(() => {\n    return {\n      ...muiProps,\n      onClick: isInteractive ? handleOptionClick : undefined,\n      \"aria-disabled\": !isInteractive ? \"true\" : undefined,\n      role: \"option\",\n    } satisfies BaseRenderOptionProps;\n  }, [muiProps, isInteractive, handleOptionClick]);\n\n  return (\n    <Option hasAdornment muiProps={extendedMuiProps}>\n      <CustomOptionContainer odysseyDesignTokens={odysseyDesignTokens}>\n        <CustomOptionLeftContainer odysseyDesignTokens={odysseyDesignTokens}>\n          <OptionAdornment\n            adornment={adornment}\n            adornmentSize={adornmentSize}\n            odysseyDesignTokens={odysseyDesignTokens}\n          />\n          <div>\n            <OptionLabelContainer odysseyDesignTokens={odysseyDesignTokens}>\n              <Heading6 component=\"p\">{label}</Heading6>\n              <OptionDescriptionComponent\n                description={description}\n                odysseyDesignTokens={odysseyDesignTokens}\n              />\n            </OptionLabelContainer>\n            {metaData && (\n              <OptionMetadataComponent\n                metaData={metaData}\n                odysseyDesignTokens={odysseyDesignTokens}\n              />\n            )}\n          </div>\n        </CustomOptionLeftContainer>\n        {extra && (\n          <Extra\n            content={extra.content}\n            odysseyDesignTokens={odysseyDesignTokens}\n            onClick={extra.onClick}\n            size={extra.size || adornmentSize}\n          />\n        )}\n      </CustomOptionContainer>\n    </Option>\n  );\n};\n\nexport type SearchDropdownProps<\n  OptionType extends CustomOptionType,\n  HasMultipleChoices extends boolean | undefined,\n  IsCustomValueAllowed extends boolean | undefined,\n> = BasePickerProps<OptionType, HasMultipleChoices, IsCustomValueAllowed> & {\n  adornmentSize?: AdornmentSize;\n};\n\ntype PickerWithOptionAdornmentComponentType = {\n  <\n    OptionType extends CustomOptionType,\n    HasMultipleChoices extends boolean | undefined,\n    IsCustomValueAllowed extends boolean | undefined,\n  >(\n    props: SearchDropdownProps<\n      OptionType,\n      HasMultipleChoices,\n      IsCustomValueAllowed\n    >,\n  ): ReactElement;\n  <\n    OptionType extends CustomOptionType,\n    HasMultipleChoices extends boolean | undefined,\n    IsCustomValueAllowed extends boolean | undefined,\n  >(\n    props: SearchDropdownProps<\n      OptionType,\n      HasMultipleChoices,\n      IsCustomValueAllowed\n    >,\n  ): ReactElement;\n};\n\nconst SearchDropdown: PickerWithOptionAdornmentComponentType = <\n  OptionType extends CustomOptionType,\n  HasMultipleChoices extends boolean | undefined,\n  IsCustomValueAllowed extends boolean | undefined,\n>({\n  adornmentSize = \"small\",\n  ariaDescribedBy,\n  defaultValue,\n  errorMessage,\n  errorMessageList,\n  getIsOptionEqualToValue,\n  groupOptionsBy,\n  id: idOverride,\n  inputValue,\n  isCustomValueAllowed,\n  isDisabled,\n  isFullWidth = false,\n  isLoading,\n  isOptional = false,\n  isReadOnly,\n  isVirtualized: isVirtualizedProp = false,\n  hint,\n  HintLinkComponent,\n  label,\n  name: nameOverride,\n  onBlur,\n  onChange: onChangeProp,\n  onInputChange: onInputChangeProp,\n  onFocus,\n  options,\n  value,\n  testId,\n  translate,\n}: SearchDropdownProps<\n  OptionType,\n  HasMultipleChoices,\n  IsCustomValueAllowed\n>) => {\n  const odysseyDesignTokens = useOdysseyDesignTokens();\n\n  const customOptionRender = useCallback<\n    (props: BaseRenderOptionProps, option: OptionType) => ReactNode\n  >(\n    (muiProps, option) => {\n      return (\n        <CustomOption\n          adornmentSize={adornmentSize}\n          key={option.value}\n          muiProps={muiProps}\n          odysseyDesignTokens={odysseyDesignTokens}\n          option={option}\n        />\n      );\n    },\n    [adornmentSize, odysseyDesignTokens],\n  );\n\n  return (\n    <ComposablePicker<OptionType, HasMultipleChoices, IsCustomValueAllowed>\n      ariaDescribedBy={ariaDescribedBy}\n      defaultValue={defaultValue}\n      errorMessage={errorMessage}\n      errorMessageList={errorMessageList}\n      getIsOptionEqualToValue={getIsOptionEqualToValue}\n      groupOptionsBy={groupOptionsBy}\n      hint={hint}\n      HintLinkComponent={HintLinkComponent}\n      id={idOverride}\n      inputValue={inputValue}\n      isCustomValueAllowed={isCustomValueAllowed}\n      isDisabled={isDisabled}\n      isFullWidth={isFullWidth}\n      isLoading={isLoading}\n      isOptional={isOptional}\n      isReadOnly={isReadOnly}\n      isVirtualized={isVirtualizedProp}\n      label={label}\n      name={nameOverride}\n      onBlur={onBlur}\n      onChange={onChangeProp}\n      onFocus={onFocus}\n      onInputChange={onInputChangeProp}\n      options={options}\n      renderOption={customOptionRender}\n      testId={testId}\n      translate={translate}\n      value={value}\n    />\n  );\n};\n\n// Need the `as BasePickerType` because generics don't get passed through\nconst MemoizedSearchDropdown = memo(SearchDropdown) as BasePickerType;\n\nMemoizedSearchDropdown.displayName = \"MemoizedSearchDropdown\";\n\nexport { MemoizedSearchDropdown as SearchDropdown };\n"],"mappings":"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","ignoreList":[]}