소스 검색

test(web): count the preset icon and keep the access chevron aria-hidden

Yif 2 달 전
부모
커밋
eb298a439f

+ 3 - 0
packages/client/ui-conversation/src/client/skeleton/PermissionSelect.module.css

@@ -51,6 +51,9 @@
 }
 
 .chevron {
+  /* inline-flex, not inline: an inline seat reserves baseline descent under
+     the svg and floats the glyph off-center in the 28px trigger. */
+  display: inline-flex;
   flex: 0 0 auto;
   color: var(--dsw-alias-label-caption);
   transition: transform 120ms ease;

+ 4 - 4
packages/client/ui-conversation/src/client/skeleton/PermissionSelect.tsx

@@ -147,10 +147,10 @@ export function PermissionSelect({ value, locked, command, t }: PermissionSelect
               <span className={css.triggerIcon} aria-hidden>{permissionGlyph(currentValue)}</span>
             )}
             <span className={css.triggerLabel}>{current === undefined ? displayName(currentValue) : optionLabel(current)}</span>
-            {/* Same glyph + open rotation as the sibling ModelSelect trigger;
-                class on the svg itself — an inline wrapper span leaves
-                baseline descent under the icon and floats it off-center. */}
-            <IconChevronDownOutline14 className={clsx(css.chevron, open && css.chevronOpen)} />
+            {/* Same glyph + open rotation as the sibling ModelSelect trigger. */}
+            <span className={clsx(css.chevron, open && css.chevronOpen)} aria-hidden>
+              <IconChevronDownOutline14 />
+            </span>
           </button>
         }
       />

+ 1 - 1
packages/client/ui-primitives/src/icons/index.tsx

@@ -349,7 +349,7 @@ export const IconThinkOutline16 = ({ size = 16, className }: IconProps) => (
   </svg>
 )
 
-/** ic_ds_agent_preset_outline_16. The three node interiors knock out to transparency via mask so the glyph sits on any background. */
+/** ic_ds_agent_preset_outline_16 (figma extract): node interiors knock out to transparency via mask, so the glyph sits on any fill. */
 export const IconAgentPresetOutline16 = ({ size = 16, className }: IconProps) => (
   <svg width={size} height={size} className={className} viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
     <mask id="mask0_agent_preset_16" maskUnits="userSpaceOnUse" x="0" y="0" width="16" height="16">

+ 2 - 2
packages/client/ui-primitives/tests/icons.spec.tsx

@@ -16,8 +16,8 @@ const icons = Object.fromEntries(
 const iconNames = Object.keys(icons)
 
 describe('ic_ds_ icon set', () => {
-  it('exports the full icon set (46 deepsuite + 18 figma extracts + three product glyphs outside those sets)', () => {
-    expect(iconNames.length).toBe(67)
+  it('exports the full icon set (46 deepsuite + 19 figma extracts + three product glyphs outside those sets)', () => {
+    expect(iconNames.length).toBe(68)
   })
 
   it.each(iconNames)('%s renders an svg with currentColor fills and no hardcoded palette', (name) => {