{"version":3,"file":"PickerWithOptionAdornment.cjs","names":["_styled","_interopRequireDefault","require","_react","_Box","_OdysseyDesignTokensContext","_Tag","_pxToRem","_Typography","_ComposablePicker","_Picker","_jsxRuntime","e","__esModule","default","OptionAdornmentContainer","styled","shouldForwardProp","prop","adornmentSize","isTagContainer","odysseyDesignTokens","position","bottom","alignSelf","width","Spacing5","height","overflow","marginInlineEnd","Spacing3","flexShrink","svg","img","top","left","transform","Spacing8","Spacing4","maxHeight","Spacing2","pxToRem","display","OptionAdornment","adornment","isImageAdornment","jsx","children","alt","role","src","OptionWithLabelDescriptionOnly","muiProps","option","description","label","value","jsxs","Option","hasAdornment","OptionLabelContainer","Heading6","component","OptionDescriptionComponent","OptionWithLabelDescriptionMetadata","metaData","OptionMetadataComponent","TagAdornment","useOdysseyDesignTokens","PickerWithOptionAdornment","ariaDescribedBy","defaultValue","emptyOptionsText","errorMessage","errorMessageList","filterOptions","getIsOptionEqualToValue","groupOptionsBy","hasMultipleChoices","id","idOverride","inputValue","isCustomValueAllowed","isDisabled","isFullWidth","isLoading","isOptional","isReadOnly","isVirtualized","isVirtualizedProp","hint","HintLinkComponent","name","nameOverride","onBlur","onChange","onChangeProp","onInputChange","onInputChangeProp","onFocus","options","testId","translate","customTagRender","useCallback","values","getTagProps","map","index","key","onDelete","Box","sx","margin","Spacing1","Tag","icon","onRemove","customOptionRender","hasMetadata","Fragment","ComposablePicker","renderOption","renderTags","MemoizedPickerWithOptionAdornment","exports","memo","displayName"],"sources":["../../../../src/labs/OdysseyPickers/PickerWithOptionAdornment.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 { AutocompleteProps as MuiAutocompleteProps } from \"@mui/material\";\nimport { FC, Fragment, memo, ReactNode, useCallback } from \"react\";\n\nimport { Box } from \"../../Box.js\";\nimport {\n  DesignTokens,\n  useOdysseyDesignTokens,\n} from \"../../OdysseyDesignTokensContext.js\";\nimport { Tag } from \"../../Tag.js\";\nimport { pxToRem } from \"../../theme/pxToRem.js\";\nimport { Heading6 } from \"../../Typography.js\";\nimport {\n  type AdornmentSize,\n  type BasePickerProps,\n  ComposablePicker,\n  ComposablePickerProps,\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;\n\ntype AdornmentLabelDescription = LabelDescription & {\n  adornment: Adornment;\n};\n\ntype AdornmentLabelDescriptionMetadata = AdornmentLabelDescription & Metadata;\n\nexport type AdornmentOptionType =\n  | AdornmentLabelDescription\n  | AdornmentLabelDescriptionMetadata;\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}>(\n  ({\n    adornmentSize = \"small\",\n    isTagContainer = false,\n    odysseyDesignTokens,\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    marginInlineEnd: odysseyDesignTokens.Spacing3,\n    flexShrink: 0,\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      \"&:has(> img)\": {\n        height: `${pxToRem(16)}rem`,\n      },\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\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        {/* NOTE: Intentionally leaving alt as an empty string here so screen readers will ignore this image */}\n        {/* Image should be sufficiently described by the adjacent title and/or description of the option */}\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 OptionWithLabelDescriptionOnly = <\n  OptionType extends AdornmentLabelDescription,\n>({\n  adornmentSize,\n  muiProps,\n  odysseyDesignTokens,\n  option,\n}: BaseOptionProps &\n  OptionProps<OptionType> & { adornmentSize: AdornmentSize }) => {\n  const { adornment, description, label, value } = option;\n  return (\n    <Option hasAdornment key={value} muiProps={muiProps}>\n      <OptionAdornment\n        adornment={adornment}\n        adornmentSize={adornmentSize}\n        odysseyDesignTokens={odysseyDesignTokens}\n      />\n      <OptionLabelContainer odysseyDesignTokens={odysseyDesignTokens}>\n        <Heading6 component=\"p\">{label}</Heading6>\n        <OptionDescriptionComponent\n          description={description}\n          odysseyDesignTokens={odysseyDesignTokens}\n        />\n      </OptionLabelContainer>\n    </Option>\n  );\n};\n\nconst OptionWithLabelDescriptionMetadata = <\n  OptionType extends AdornmentLabelDescriptionMetadata,\n>({\n  adornmentSize,\n  muiProps,\n  odysseyDesignTokens,\n  option,\n}: BaseOptionProps &\n  OptionProps<OptionType> & {\n    adornmentSize: AdornmentSize;\n  }) => {\n  const { adornment, description, label, metaData, value } = option;\n\n  return (\n    <Option hasAdornment key={value} muiProps={muiProps}>\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        <OptionMetadataComponent\n          metaData={metaData}\n          odysseyDesignTokens={odysseyDesignTokens}\n        />\n      </div>\n    </Option>\n  );\n};\n\ntype TagAdornmentProps = {\n  adornment: Adornment;\n};\n\nconst TagAdornment = ({ adornment }: TagAdornmentProps) => {\n  const odysseyDesignTokens = useOdysseyDesignTokens();\n  const isImageAdornment = typeof adornment === \"string\";\n\n  if (isImageAdornment) {\n    return (\n      <OptionAdornmentContainer\n        isTagContainer\n        odysseyDesignTokens={odysseyDesignTokens}\n      >\n        <img alt=\"\" role=\"presentation\" src={adornment} />\n      </OptionAdornmentContainer>\n    );\n  }\n\n  return (\n    <OptionAdornmentContainer\n      isTagContainer\n      odysseyDesignTokens={odysseyDesignTokens}\n    >\n      {adornment}\n    </OptionAdornmentContainer>\n  );\n};\n\nexport type PickerWithOptionAdornmentProps<\n  OptionType extends AdornmentOptionType,\n  HasMultipleChoices extends boolean | undefined,\n  IsCustomValueAllowed extends boolean | undefined,\n> = Omit<\n  BasePickerProps<OptionType, HasMultipleChoices, IsCustomValueAllowed>,\n  \"getOptionLabel\" | \"noOptionsText\"\n>;\n\ntype PickerWithOptionAdornmentComponentType = {\n  <\n    OptionType extends AdornmentLabelDescription,\n    HasMultipleChoices extends boolean | undefined,\n    IsCustomValueAllowed extends boolean | undefined,\n  >(\n    props: PickerWithOptionAdornmentProps<\n      OptionType,\n      HasMultipleChoices,\n      IsCustomValueAllowed\n    >,\n  ): ReactNode;\n  <\n    OptionType extends AdornmentLabelDescriptionMetadata,\n    HasMultipleChoices extends boolean | undefined,\n    IsCustomValueAllowed extends boolean | undefined,\n  >(\n    props: PickerWithOptionAdornmentProps<\n      OptionType,\n      HasMultipleChoices,\n      IsCustomValueAllowed\n    >,\n  ): ReactNode;\n};\n\nconst PickerWithOptionAdornment: PickerWithOptionAdornmentComponentType = <\n  OptionType extends AdornmentOptionType,\n  HasMultipleChoices extends boolean | undefined,\n  IsCustomValueAllowed extends boolean | undefined,\n>({\n  adornmentSize = \"small\",\n  ariaDescribedBy,\n  defaultValue,\n  emptyOptionsText,\n  errorMessage,\n  errorMessageList,\n  filterOptions,\n  getIsOptionEqualToValue,\n  groupOptionsBy,\n  hasMultipleChoices,\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}: PickerWithOptionAdornmentProps<\n  OptionType,\n  HasMultipleChoices,\n  IsCustomValueAllowed\n>) => {\n  const odysseyDesignTokens = useOdysseyDesignTokens();\n\n  const customTagRender = useCallback<\n    NonNullable<\n      ComposablePickerProps<\n        OptionType,\n        HasMultipleChoices,\n        IsCustomValueAllowed\n      >[\"renderTags\"]\n    >\n  >(\n    (values, getTagProps) =>\n      values.map((value, index) => {\n        const { key, onDelete } = getTagProps({ index });\n        const { adornment, label } = value;\n\n        return (\n          <Box\n            key={key}\n            sx={{\n              margin: odysseyDesignTokens.Spacing1,\n              marginInlineEnd: 0,\n            }}\n          >\n            <Tag\n              icon={<TagAdornment adornment={adornment} />}\n              label={label}\n              onRemove={onDelete}\n            />\n          </Box>\n        );\n      }),\n    [odysseyDesignTokens],\n  );\n\n  const customOptionRender = useCallback<\n    NonNullable<\n      MuiAutocompleteProps<\n        OptionType,\n        HasMultipleChoices,\n        undefined,\n        IsCustomValueAllowed\n      >[\"renderOption\"]\n    >\n  >(\n    (muiProps, option) => {\n      const hasMetadata = \"metaData\" in option && option.metaData;\n\n      return (\n        <Fragment key={option.value}>\n          {hasMetadata ? (\n            <OptionWithLabelDescriptionMetadata\n              adornmentSize={adornmentSize}\n              muiProps={muiProps}\n              odysseyDesignTokens={odysseyDesignTokens}\n              option={option}\n            />\n          ) : (\n            <OptionWithLabelDescriptionOnly\n              adornmentSize={adornmentSize}\n              muiProps={muiProps}\n              odysseyDesignTokens={odysseyDesignTokens}\n              option={option}\n            />\n          )}\n        </Fragment>\n      );\n    },\n    [adornmentSize, odysseyDesignTokens],\n  );\n\n  return (\n    <ComposablePicker<OptionType, HasMultipleChoices, IsCustomValueAllowed>\n      ariaDescribedBy={ariaDescribedBy}\n      defaultValue={defaultValue}\n      emptyOptionsText={emptyOptionsText}\n      errorMessage={errorMessage}\n      errorMessageList={errorMessageList}\n      filterOptions={filterOptions}\n      getIsOptionEqualToValue={getIsOptionEqualToValue}\n      groupOptionsBy={groupOptionsBy}\n      hasMultipleChoices={hasMultipleChoices}\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      renderTags={customTagRender}\n      testId={testId}\n      translate={translate}\n      value={value}\n    />\n  );\n};\n\nconst MemoizedPickerWithOptionAdornment = memo(\n  PickerWithOptionAdornment,\n) as PickerWithOptionAdornmentComponentType & Pick<FC, \"displayName\">;\nMemoizedPickerWithOptionAdornment.displayName = \"PickerWithOptionAdornment\";\n\nexport { MemoizedPickerWithOptionAdornment as PickerWithOptionAdornment };\n"],"mappings":"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","ignoreList":[]}