@byline/i18n 3.11.3 → 3.12.1

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.
@@ -26,6 +26,7 @@ import { CheckIcon, Dropdown as DropdownMenu, GlobeIcon } from '@byline/ui/react
26
26
  import cx from 'classnames'
27
27
 
28
28
  import { I18nContext } from './i18n-context.js'
29
+ import styles from './language-menu.module.css'
29
30
  import type { LocaleCode } from '../types.js'
30
31
 
31
32
  export interface LanguageMenuProps {
@@ -72,37 +73,29 @@ export function LanguageMenu({ className, color, disabled }: LanguageMenuProps)
72
73
  type="button"
73
74
  aria-label={active?.nativeName ?? activeLocale}
74
75
  disabled={isDisabled}
75
- className="component--byline-language-menu rounded flex items-center justify-between gap-1 outline-none disabled:opacity-50"
76
+ className={cx('component--byline-language-menu', styles.trigger)}
76
77
  />
77
78
  }
78
79
  >
79
80
  <GlobeIcon svgClassName={color} />
80
- <span className={cx(color, 'hidden sm:inline mr-[4px]')}>
81
- {active?.nativeName ?? activeLocale}
82
- </span>
81
+ <span className={cx(color, styles.label)}>{active?.nativeName ?? activeLocale}</span>
83
82
  </DropdownMenu.Trigger>
84
83
 
85
84
  <DropdownMenu.Portal>
86
- <DropdownMenu.Content
87
- align="center"
88
- sideOffset={10}
89
- className={cx(
90
- 'z-40 rounded radix-side-bottom:animate-slide-down radix-side-top:animate-slide-up',
91
- 'w-32 px-1.5 py-1 shadow-md',
92
- 'bg-white dark:bg-canvas-800 border dark:border-canvas-700 shadow'
93
- )}
94
- >
85
+ <DropdownMenu.Content align="center" sideOffset={10} className={styles.content}>
95
86
  {localeDefinitions.map((def) => {
96
87
  const isActive = def.code === activeLocale
97
88
  return (
98
- <DropdownMenu.Item key={def.code} onClick={() => handleSelect(def.code)}>
99
- <div className="flex">
100
- <span className="inline-block w-[22px]">
89
+ <DropdownMenu.Item
90
+ key={def.code}
91
+ onClick={() => handleSelect(def.code)}
92
+ className={styles.item}
93
+ >
94
+ <div className={styles.row}>
95
+ <span className={styles.checkCol}>
101
96
  {isActive && <CheckIcon width="18px" height="18px" />}
102
97
  </span>
103
- <span className="text-left inline-block w-full flex-1 self-start text-black dark:text-gray-300">
104
- {def.nativeName}
105
- </span>
98
+ <span className={styles.itemLabel}>{def.nativeName}</span>
106
99
  </div>
107
100
  </DropdownMenu.Item>
108
101
  )