@fluentui/react-tags 0.0.0-nightly-20250827-0407.1 → 0.0.0-nightly-20250828-0408.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.
package/CHANGELOG.md
CHANGED
|
@@ -1,28 +1,28 @@
|
|
|
1
1
|
# Change Log - @fluentui/react-tags
|
|
2
2
|
|
|
3
|
-
This log was last generated on
|
|
3
|
+
This log was last generated on Thu, 28 Aug 2025 04:22:46 GMT and should not be manually modified.
|
|
4
4
|
|
|
5
5
|
<!-- Start content -->
|
|
6
6
|
|
|
7
|
-
## [0.0.0-nightly-
|
|
7
|
+
## [0.0.0-nightly-20250828-0408.1](https://github.com/microsoft/fluentui/tree/@fluentui/react-tags_v0.0.0-nightly-20250828-0408.1)
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-tags_v9.7.5..@fluentui/react-tags_v0.0.0-nightly-
|
|
9
|
+
Thu, 28 Aug 2025 04:22:46 GMT
|
|
10
|
+
[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-tags_v9.7.5..@fluentui/react-tags_v0.0.0-nightly-20250828-0408.1)
|
|
11
11
|
|
|
12
12
|
### Changes
|
|
13
13
|
|
|
14
14
|
- Release nightly v9 ([commit](https://github.com/microsoft/fluentui/commit/not available) by fluentui-internal@service.microsoft.com)
|
|
15
|
-
- Bump @fluentui/keyboard-keys to v0.0.0-nightly-
|
|
16
|
-
- Bump @fluentui/react-aria to v0.0.0-nightly-
|
|
17
|
-
- Bump @fluentui/react-avatar to v0.0.0-nightly-
|
|
18
|
-
- Bump @fluentui/react-jsx-runtime to v0.0.0-nightly-
|
|
19
|
-
- Bump @fluentui/react-shared-contexts to v0.0.0-nightly-
|
|
20
|
-
- Bump @fluentui/react-tabster to v0.0.0-nightly-
|
|
21
|
-
- Bump @fluentui/react-theme to v0.0.0-nightly-
|
|
22
|
-
- Bump @fluentui/react-utilities to v0.0.0-nightly-
|
|
23
|
-
- Bump @fluentui/react-provider to v0.0.0-nightly-
|
|
24
|
-
- Bump @fluentui/react-conformance to v0.0.0-nightly-
|
|
25
|
-
- Bump @fluentui/react-conformance-griffel to v0.0.0-nightly-
|
|
15
|
+
- Bump @fluentui/keyboard-keys to v0.0.0-nightly-20250828-0408.1 ([commit](https://github.com/microsoft/fluentui/commit/1f74bd3c8ea7e7476d2092995db628337708a5d1) by beachball)
|
|
16
|
+
- Bump @fluentui/react-aria to v0.0.0-nightly-20250828-0408.1 ([commit](https://github.com/microsoft/fluentui/commit/1f74bd3c8ea7e7476d2092995db628337708a5d1) by beachball)
|
|
17
|
+
- Bump @fluentui/react-avatar to v0.0.0-nightly-20250828-0408.1 ([commit](https://github.com/microsoft/fluentui/commit/1f74bd3c8ea7e7476d2092995db628337708a5d1) by beachball)
|
|
18
|
+
- Bump @fluentui/react-jsx-runtime to v0.0.0-nightly-20250828-0408.1 ([commit](https://github.com/microsoft/fluentui/commit/1f74bd3c8ea7e7476d2092995db628337708a5d1) by beachball)
|
|
19
|
+
- Bump @fluentui/react-shared-contexts to v0.0.0-nightly-20250828-0408.1 ([commit](https://github.com/microsoft/fluentui/commit/1f74bd3c8ea7e7476d2092995db628337708a5d1) by beachball)
|
|
20
|
+
- Bump @fluentui/react-tabster to v0.0.0-nightly-20250828-0408.1 ([commit](https://github.com/microsoft/fluentui/commit/1f74bd3c8ea7e7476d2092995db628337708a5d1) by beachball)
|
|
21
|
+
- Bump @fluentui/react-theme to v0.0.0-nightly-20250828-0408.1 ([commit](https://github.com/microsoft/fluentui/commit/1f74bd3c8ea7e7476d2092995db628337708a5d1) by beachball)
|
|
22
|
+
- Bump @fluentui/react-utilities to v0.0.0-nightly-20250828-0408.1 ([commit](https://github.com/microsoft/fluentui/commit/1f74bd3c8ea7e7476d2092995db628337708a5d1) by beachball)
|
|
23
|
+
- Bump @fluentui/react-provider to v0.0.0-nightly-20250828-0408.1 ([commit](https://github.com/microsoft/fluentui/commit/1f74bd3c8ea7e7476d2092995db628337708a5d1) by beachball)
|
|
24
|
+
- Bump @fluentui/react-conformance to v0.0.0-nightly-20250828-0408.1 ([commit](https://github.com/microsoft/fluentui/commit/1f74bd3c8ea7e7476d2092995db628337708a5d1) by beachball)
|
|
25
|
+
- Bump @fluentui/react-conformance-griffel to v0.0.0-nightly-20250828-0408.1 ([commit](https://github.com/microsoft/fluentui/commit/1f74bd3c8ea7e7476d2092995db628337708a5d1) by beachball)
|
|
26
26
|
|
|
27
27
|
## [9.7.5](https://github.com/microsoft/fluentui/tree/@fluentui/react-tags_v9.7.5)
|
|
28
28
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/Tag/useTag.tsx"],"sourcesContent":["import * as React from 'react';\nimport { getIntrinsicElementProps, useEventCallback, useId, slot } from '@fluentui/react-utilities';\nimport { DismissRegular } from '@fluentui/react-icons';\nimport type { TagProps, TagState } from './Tag.types';\nimport { Delete, Backspace } from '@fluentui/keyboard-keys';\nimport { useTagGroupContext_unstable } from '../../contexts/tagGroupContext';\n\nconst tagAvatarSizeMap = {\n medium: 28,\n small: 20,\n 'extra-small': 16,\n} as const;\n\nconst tagAvatarShapeMap = {\n rounded: 'square',\n circular: 'circular',\n} as const;\n\n/**\n * Create the state required to render Tag.\n *\n * The returned state can be modified with hooks such as useTagStyles_unstable,\n * before being passed to renderTag_unstable.\n *\n * @param props - props from this instance of Tag\n * @param ref - reference to root HTMLSpanElement or HTMLButtonElement of Tag\n */\nexport const useTag_unstable = (props: TagProps, ref: React.Ref<HTMLSpanElement | HTMLButtonElement>): TagState => {\n const {\n handleTagDismiss,\n size: contextSize,\n disabled: contextDisabled,\n appearance: contextAppearance,\n dismissible: contextDismissible,\n role: tagGroupRole,\n } = useTagGroupContext_unstable();\n\n const id = useId('fui-Tag', props.id);\n\n const {\n appearance = contextAppearance ?? 'filled',\n disabled = false,\n dismissible = contextDismissible ?? false,\n selected,\n shape = 'rounded',\n size = contextSize,\n value = id,\n } = props;\n\n const dismissOnClick = useEventCallback((ev: React.MouseEvent<HTMLButtonElement>) => {\n props.onClick?.(ev);\n if (!ev.defaultPrevented) {\n handleTagDismiss?.(ev, { value });\n }\n });\n\n const dismissOnKeyDown = useEventCallback((ev: React.KeyboardEvent<HTMLButtonElement>) => {\n props?.onKeyDown?.(ev);\n if (!ev.defaultPrevented && (ev.key === Delete || ev.key === Backspace)) {\n handleTagDismiss?.(ev, { value });\n }\n });\n\n const elementType = dismissible ? 'button' : 'span';\n const selectedProp = tagGroupRole === 'listbox' ? 'aria-selected' : 'aria-pressed';\n const selectable = typeof selected === 'boolean' || tagGroupRole === 'listbox';\n\n return {\n appearance,\n avatarShape: tagAvatarShapeMap[shape],\n avatarSize: tagAvatarSizeMap[size],\n disabled: contextDisabled ? true : disabled,\n dismissible,\n selected: !!selected,\n shape,\n size,\n\n components: {\n root: elementType,\n media: 'span',\n icon: 'span',\n primaryText: 'span',\n secondaryText: 'span',\n dismissIcon: 'span',\n },\n\n root: slot.always(\n getIntrinsicElementProps(elementType, {\n ref,\n role: tagGroupRole === 'listbox' ? 'option' : undefined,\n [selectedProp]: selectable ? selected : undefined,\n ...props,\n disabled: contextDisabled ? true : disabled,\n id,\n ...(dismissible && { onClick: dismissOnClick, onKeyDown: dismissOnKeyDown }),\n }),\n { elementType },\n ),\n\n media: slot.optional(props.media, { elementType: 'span' }),\n icon: slot.optional(props.icon, { elementType: 'span' }),\n primaryText: slot.optional(props.primaryText, {\n renderByDefault: true,\n defaultProps: {\n children: props.children,\n },\n elementType: 'span',\n }),\n secondaryText: slot.optional(props.secondaryText, { elementType: 'span' }),\n dismissIcon: slot.optional(props.dismissIcon, {\n renderByDefault: dismissible,\n defaultProps: {\n children: <DismissRegular />,\n },\n elementType: 'span',\n }),\n };\n};\n"],"names":["React","getIntrinsicElementProps","useEventCallback","useId","slot","DismissRegular","Delete","Backspace","useTagGroupContext_unstable","tagAvatarSizeMap","medium","small","tagAvatarShapeMap","rounded","circular","useTag_unstable","props","ref","handleTagDismiss","size","contextSize","disabled","contextDisabled","appearance","contextAppearance","dismissible","contextDismissible","role","tagGroupRole","id","selected","shape","value","dismissOnClick","ev","onClick","defaultPrevented","dismissOnKeyDown","onKeyDown","key","elementType","selectedProp","selectable","avatarShape","avatarSize","components","root","media","icon","primaryText","secondaryText","dismissIcon","always","undefined","
|
|
1
|
+
{"version":3,"sources":["../src/components/Tag/useTag.tsx"],"sourcesContent":["import * as React from 'react';\nimport { getIntrinsicElementProps, useEventCallback, useId, slot } from '@fluentui/react-utilities';\nimport { DismissRegular } from '@fluentui/react-icons';\nimport type { TagProps, TagState } from './Tag.types';\nimport { Delete, Backspace } from '@fluentui/keyboard-keys';\nimport { useTagGroupContext_unstable } from '../../contexts/tagGroupContext';\n\nconst tagAvatarSizeMap = {\n medium: 28,\n small: 20,\n 'extra-small': 16,\n} as const;\n\nconst tagAvatarShapeMap = {\n rounded: 'square',\n circular: 'circular',\n} as const;\n\n/**\n * Create the state required to render Tag.\n *\n * The returned state can be modified with hooks such as useTagStyles_unstable,\n * before being passed to renderTag_unstable.\n *\n * @param props - props from this instance of Tag\n * @param ref - reference to root HTMLSpanElement or HTMLButtonElement of Tag\n */\nexport const useTag_unstable = (props: TagProps, ref: React.Ref<HTMLSpanElement | HTMLButtonElement>): TagState => {\n const {\n handleTagDismiss,\n size: contextSize,\n disabled: contextDisabled,\n appearance: contextAppearance,\n dismissible: contextDismissible,\n role: tagGroupRole,\n } = useTagGroupContext_unstable();\n\n const id = useId('fui-Tag', props.id);\n\n const {\n appearance = contextAppearance ?? 'filled',\n disabled = false,\n dismissible = contextDismissible ?? false,\n selected,\n shape = 'rounded',\n size = contextSize,\n value = id,\n } = props;\n\n const dismissOnClick = useEventCallback((ev: React.MouseEvent<HTMLButtonElement>) => {\n props.onClick?.(ev);\n if (!ev.defaultPrevented) {\n handleTagDismiss?.(ev, { value });\n }\n });\n\n const dismissOnKeyDown = useEventCallback((ev: React.KeyboardEvent<HTMLButtonElement>) => {\n props?.onKeyDown?.(ev);\n if (!ev.defaultPrevented && (ev.key === Delete || ev.key === Backspace)) {\n handleTagDismiss?.(ev, { value });\n }\n });\n\n const elementType = dismissible ? 'button' : 'span';\n const selectedProp = tagGroupRole === 'listbox' ? 'aria-selected' : 'aria-pressed';\n const selectable = typeof selected === 'boolean' || tagGroupRole === 'listbox';\n\n return {\n appearance,\n avatarShape: tagAvatarShapeMap[shape],\n avatarSize: tagAvatarSizeMap[size],\n disabled: contextDisabled ? true : disabled,\n dismissible,\n selected: !!selected,\n shape,\n size,\n\n components: {\n root: elementType,\n media: 'span',\n icon: 'span',\n primaryText: 'span',\n secondaryText: 'span',\n dismissIcon: 'span',\n },\n\n root: slot.always(\n getIntrinsicElementProps(elementType, {\n ref,\n role: tagGroupRole === 'listbox' ? 'option' : undefined,\n [selectedProp]: selectable ? selected : undefined,\n ...props,\n disabled: contextDisabled ? true : disabled,\n id,\n ...(dismissible && { onClick: dismissOnClick, onKeyDown: dismissOnKeyDown }),\n }),\n {\n defaultProps: {\n type: elementType === 'button' ? 'button' : undefined,\n },\n elementType,\n },\n ),\n\n media: slot.optional(props.media, { elementType: 'span' }),\n icon: slot.optional(props.icon, { elementType: 'span' }),\n primaryText: slot.optional(props.primaryText, {\n renderByDefault: true,\n defaultProps: {\n children: props.children,\n },\n elementType: 'span',\n }),\n secondaryText: slot.optional(props.secondaryText, { elementType: 'span' }),\n dismissIcon: slot.optional(props.dismissIcon, {\n renderByDefault: dismissible,\n defaultProps: {\n children: <DismissRegular />,\n },\n elementType: 'span',\n }),\n };\n};\n"],"names":["React","getIntrinsicElementProps","useEventCallback","useId","slot","DismissRegular","Delete","Backspace","useTagGroupContext_unstable","tagAvatarSizeMap","medium","small","tagAvatarShapeMap","rounded","circular","useTag_unstable","props","ref","handleTagDismiss","size","contextSize","disabled","contextDisabled","appearance","contextAppearance","dismissible","contextDismissible","role","tagGroupRole","id","selected","shape","value","dismissOnClick","ev","onClick","defaultPrevented","dismissOnKeyDown","onKeyDown","key","elementType","selectedProp","selectable","avatarShape","avatarSize","components","root","media","icon","primaryText","secondaryText","dismissIcon","always","undefined","defaultProps","type","optional","renderByDefault","children"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,wBAAwB,EAAEC,gBAAgB,EAAEC,KAAK,EAAEC,IAAI,QAAQ,4BAA4B;AACpG,SAASC,cAAc,QAAQ,wBAAwB;AAEvD,SAASC,MAAM,EAAEC,SAAS,QAAQ,0BAA0B;AAC5D,SAASC,2BAA2B,QAAQ,iCAAiC;AAE7E,MAAMC,mBAAmB;IACvBC,QAAQ;IACRC,OAAO;IACP,eAAe;AACjB;AAEA,MAAMC,oBAAoB;IACxBC,SAAS;IACTC,UAAU;AACZ;AAEA;;;;;;;;CAQC,GACD,OAAO,MAAMC,kBAAkB,CAACC,OAAiBC;IAC/C,MAAM,EACJC,gBAAgB,EAChBC,MAAMC,WAAW,EACjBC,UAAUC,eAAe,EACzBC,YAAYC,iBAAiB,EAC7BC,aAAaC,kBAAkB,EAC/BC,MAAMC,YAAY,EACnB,GAAGpB;IAEJ,MAAMqB,KAAK1B,MAAM,WAAWa,MAAMa,EAAE;IAEpC,MAAM,EACJN,aAAaC,8BAAAA,+BAAAA,oBAAqB,QAAQ,EAC1CH,WAAW,KAAK,EAChBI,cAAcC,+BAAAA,gCAAAA,qBAAsB,KAAK,EACzCI,QAAQ,EACRC,QAAQ,SAAS,EACjBZ,OAAOC,WAAW,EAClBY,QAAQH,EAAE,EACX,GAAGb;IAEJ,MAAMiB,iBAAiB/B,iBAAiB,CAACgC;YACvClB;SAAAA,iBAAAA,MAAMmB,OAAO,cAAbnB,qCAAAA,oBAAAA,OAAgBkB;QAChB,IAAI,CAACA,GAAGE,gBAAgB,EAAE;YACxBlB,6BAAAA,uCAAAA,iBAAmBgB,IAAI;gBAAEF;YAAM;QACjC;IACF;IAEA,MAAMK,mBAAmBnC,iBAAiB,CAACgC;YACzClB;QAAAA,kBAAAA,6BAAAA,mBAAAA,MAAOsB,SAAS,cAAhBtB,uCAAAA,sBAAAA,OAAmBkB;QACnB,IAAI,CAACA,GAAGE,gBAAgB,IAAKF,CAAAA,GAAGK,GAAG,KAAKjC,UAAU4B,GAAGK,GAAG,KAAKhC,SAAQ,GAAI;YACvEW,6BAAAA,uCAAAA,iBAAmBgB,IAAI;gBAAEF;YAAM;QACjC;IACF;IAEA,MAAMQ,cAAcf,cAAc,WAAW;IAC7C,MAAMgB,eAAeb,iBAAiB,YAAY,kBAAkB;IACpE,MAAMc,aAAa,OAAOZ,aAAa,aAAaF,iBAAiB;IAErE,OAAO;QACLL;QACAoB,aAAa/B,iBAAiB,CAACmB,MAAM;QACrCa,YAAYnC,gBAAgB,CAACU,KAAK;QAClCE,UAAUC,kBAAkB,OAAOD;QACnCI;QACAK,UAAU,CAAC,CAACA;QACZC;QACAZ;QAEA0B,YAAY;YACVC,MAAMN;YACNO,OAAO;YACPC,MAAM;YACNC,aAAa;YACbC,eAAe;YACfC,aAAa;QACf;QAEAL,MAAM1C,KAAKgD,MAAM,CACfnD,yBAAyBuC,aAAa;YACpCvB;YACAU,MAAMC,iBAAiB,YAAY,WAAWyB;YAC9C,CAACZ,aAAa,EAAEC,aAAaZ,WAAWuB;YACxC,GAAGrC,KAAK;YACRK,UAAUC,kBAAkB,OAAOD;YACnCQ;YACA,GAAIJ,eAAe;gBAAEU,SAASF;gBAAgBK,WAAWD;YAAiB,CAAC;QAC7E,IACA;YACEiB,cAAc;gBACZC,MAAMf,gBAAgB,WAAW,WAAWa;YAC9C;YACAb;QACF;QAGFO,OAAO3C,KAAKoD,QAAQ,CAACxC,MAAM+B,KAAK,EAAE;YAAEP,aAAa;QAAO;QACxDQ,MAAM5C,KAAKoD,QAAQ,CAACxC,MAAMgC,IAAI,EAAE;YAAER,aAAa;QAAO;QACtDS,aAAa7C,KAAKoD,QAAQ,CAACxC,MAAMiC,WAAW,EAAE;YAC5CQ,iBAAiB;YACjBH,cAAc;gBACZI,UAAU1C,MAAM0C,QAAQ;YAC1B;YACAlB,aAAa;QACf;QACAU,eAAe9C,KAAKoD,QAAQ,CAACxC,MAAMkC,aAAa,EAAE;YAAEV,aAAa;QAAO;QACxEW,aAAa/C,KAAKoD,QAAQ,CAACxC,MAAMmC,WAAW,EAAE;YAC5CM,iBAAiBhC;YACjB6B,cAAc;gBACZI,wBAAU,oBAACrD;YACb;YACAmC,aAAa;QACf;IACF;AACF,EAAE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/Tag/useTag.tsx"],"sourcesContent":["import * as React from 'react';\nimport { getIntrinsicElementProps, useEventCallback, useId, slot } from '@fluentui/react-utilities';\nimport { DismissRegular } from '@fluentui/react-icons';\nimport type { TagProps, TagState } from './Tag.types';\nimport { Delete, Backspace } from '@fluentui/keyboard-keys';\nimport { useTagGroupContext_unstable } from '../../contexts/tagGroupContext';\n\nconst tagAvatarSizeMap = {\n medium: 28,\n small: 20,\n 'extra-small': 16,\n} as const;\n\nconst tagAvatarShapeMap = {\n rounded: 'square',\n circular: 'circular',\n} as const;\n\n/**\n * Create the state required to render Tag.\n *\n * The returned state can be modified with hooks such as useTagStyles_unstable,\n * before being passed to renderTag_unstable.\n *\n * @param props - props from this instance of Tag\n * @param ref - reference to root HTMLSpanElement or HTMLButtonElement of Tag\n */\nexport const useTag_unstable = (props: TagProps, ref: React.Ref<HTMLSpanElement | HTMLButtonElement>): TagState => {\n const {\n handleTagDismiss,\n size: contextSize,\n disabled: contextDisabled,\n appearance: contextAppearance,\n dismissible: contextDismissible,\n role: tagGroupRole,\n } = useTagGroupContext_unstable();\n\n const id = useId('fui-Tag', props.id);\n\n const {\n appearance = contextAppearance ?? 'filled',\n disabled = false,\n dismissible = contextDismissible ?? false,\n selected,\n shape = 'rounded',\n size = contextSize,\n value = id,\n } = props;\n\n const dismissOnClick = useEventCallback((ev: React.MouseEvent<HTMLButtonElement>) => {\n props.onClick?.(ev);\n if (!ev.defaultPrevented) {\n handleTagDismiss?.(ev, { value });\n }\n });\n\n const dismissOnKeyDown = useEventCallback((ev: React.KeyboardEvent<HTMLButtonElement>) => {\n props?.onKeyDown?.(ev);\n if (!ev.defaultPrevented && (ev.key === Delete || ev.key === Backspace)) {\n handleTagDismiss?.(ev, { value });\n }\n });\n\n const elementType = dismissible ? 'button' : 'span';\n const selectedProp = tagGroupRole === 'listbox' ? 'aria-selected' : 'aria-pressed';\n const selectable = typeof selected === 'boolean' || tagGroupRole === 'listbox';\n\n return {\n appearance,\n avatarShape: tagAvatarShapeMap[shape],\n avatarSize: tagAvatarSizeMap[size],\n disabled: contextDisabled ? true : disabled,\n dismissible,\n selected: !!selected,\n shape,\n size,\n\n components: {\n root: elementType,\n media: 'span',\n icon: 'span',\n primaryText: 'span',\n secondaryText: 'span',\n dismissIcon: 'span',\n },\n\n root: slot.always(\n getIntrinsicElementProps(elementType, {\n ref,\n role: tagGroupRole === 'listbox' ? 'option' : undefined,\n [selectedProp]: selectable ? selected : undefined,\n ...props,\n disabled: contextDisabled ? true : disabled,\n id,\n ...(dismissible && { onClick: dismissOnClick, onKeyDown: dismissOnKeyDown }),\n }),\n { elementType },\n ),\n\n media: slot.optional(props.media, { elementType: 'span' }),\n icon: slot.optional(props.icon, { elementType: 'span' }),\n primaryText: slot.optional(props.primaryText, {\n renderByDefault: true,\n defaultProps: {\n children: props.children,\n },\n elementType: 'span',\n }),\n secondaryText: slot.optional(props.secondaryText, { elementType: 'span' }),\n dismissIcon: slot.optional(props.dismissIcon, {\n renderByDefault: dismissible,\n defaultProps: {\n children: <DismissRegular />,\n },\n elementType: 'span',\n }),\n };\n};\n"],"names":["React","getIntrinsicElementProps","useEventCallback","useId","slot","DismissRegular","Delete","Backspace","useTagGroupContext_unstable","tagAvatarSizeMap","medium","small","tagAvatarShapeMap","rounded","circular","useTag_unstable","props","ref","handleTagDismiss","size","contextSize","disabled","contextDisabled","appearance","contextAppearance","dismissible","contextDismissible","role","tagGroupRole","id","selected","shape","value","dismissOnClick","ev","onClick","defaultPrevented","dismissOnKeyDown","onKeyDown","key","elementType","selectedProp","selectable","avatarShape","avatarSize","components","root","media","icon","primaryText","secondaryText","dismissIcon","always","undefined","
|
|
1
|
+
{"version":3,"sources":["../src/components/Tag/useTag.tsx"],"sourcesContent":["import * as React from 'react';\nimport { getIntrinsicElementProps, useEventCallback, useId, slot } from '@fluentui/react-utilities';\nimport { DismissRegular } from '@fluentui/react-icons';\nimport type { TagProps, TagState } from './Tag.types';\nimport { Delete, Backspace } from '@fluentui/keyboard-keys';\nimport { useTagGroupContext_unstable } from '../../contexts/tagGroupContext';\n\nconst tagAvatarSizeMap = {\n medium: 28,\n small: 20,\n 'extra-small': 16,\n} as const;\n\nconst tagAvatarShapeMap = {\n rounded: 'square',\n circular: 'circular',\n} as const;\n\n/**\n * Create the state required to render Tag.\n *\n * The returned state can be modified with hooks such as useTagStyles_unstable,\n * before being passed to renderTag_unstable.\n *\n * @param props - props from this instance of Tag\n * @param ref - reference to root HTMLSpanElement or HTMLButtonElement of Tag\n */\nexport const useTag_unstable = (props: TagProps, ref: React.Ref<HTMLSpanElement | HTMLButtonElement>): TagState => {\n const {\n handleTagDismiss,\n size: contextSize,\n disabled: contextDisabled,\n appearance: contextAppearance,\n dismissible: contextDismissible,\n role: tagGroupRole,\n } = useTagGroupContext_unstable();\n\n const id = useId('fui-Tag', props.id);\n\n const {\n appearance = contextAppearance ?? 'filled',\n disabled = false,\n dismissible = contextDismissible ?? false,\n selected,\n shape = 'rounded',\n size = contextSize,\n value = id,\n } = props;\n\n const dismissOnClick = useEventCallback((ev: React.MouseEvent<HTMLButtonElement>) => {\n props.onClick?.(ev);\n if (!ev.defaultPrevented) {\n handleTagDismiss?.(ev, { value });\n }\n });\n\n const dismissOnKeyDown = useEventCallback((ev: React.KeyboardEvent<HTMLButtonElement>) => {\n props?.onKeyDown?.(ev);\n if (!ev.defaultPrevented && (ev.key === Delete || ev.key === Backspace)) {\n handleTagDismiss?.(ev, { value });\n }\n });\n\n const elementType = dismissible ? 'button' : 'span';\n const selectedProp = tagGroupRole === 'listbox' ? 'aria-selected' : 'aria-pressed';\n const selectable = typeof selected === 'boolean' || tagGroupRole === 'listbox';\n\n return {\n appearance,\n avatarShape: tagAvatarShapeMap[shape],\n avatarSize: tagAvatarSizeMap[size],\n disabled: contextDisabled ? true : disabled,\n dismissible,\n selected: !!selected,\n shape,\n size,\n\n components: {\n root: elementType,\n media: 'span',\n icon: 'span',\n primaryText: 'span',\n secondaryText: 'span',\n dismissIcon: 'span',\n },\n\n root: slot.always(\n getIntrinsicElementProps(elementType, {\n ref,\n role: tagGroupRole === 'listbox' ? 'option' : undefined,\n [selectedProp]: selectable ? selected : undefined,\n ...props,\n disabled: contextDisabled ? true : disabled,\n id,\n ...(dismissible && { onClick: dismissOnClick, onKeyDown: dismissOnKeyDown }),\n }),\n {\n defaultProps: {\n type: elementType === 'button' ? 'button' : undefined,\n },\n elementType,\n },\n ),\n\n media: slot.optional(props.media, { elementType: 'span' }),\n icon: slot.optional(props.icon, { elementType: 'span' }),\n primaryText: slot.optional(props.primaryText, {\n renderByDefault: true,\n defaultProps: {\n children: props.children,\n },\n elementType: 'span',\n }),\n secondaryText: slot.optional(props.secondaryText, { elementType: 'span' }),\n dismissIcon: slot.optional(props.dismissIcon, {\n renderByDefault: dismissible,\n defaultProps: {\n children: <DismissRegular />,\n },\n elementType: 'span',\n }),\n };\n};\n"],"names":["React","getIntrinsicElementProps","useEventCallback","useId","slot","DismissRegular","Delete","Backspace","useTagGroupContext_unstable","tagAvatarSizeMap","medium","small","tagAvatarShapeMap","rounded","circular","useTag_unstable","props","ref","handleTagDismiss","size","contextSize","disabled","contextDisabled","appearance","contextAppearance","dismissible","contextDismissible","role","tagGroupRole","id","selected","shape","value","dismissOnClick","ev","onClick","defaultPrevented","dismissOnKeyDown","onKeyDown","key","elementType","selectedProp","selectable","avatarShape","avatarSize","components","root","media","icon","primaryText","secondaryText","dismissIcon","always","undefined","defaultProps","type","optional","renderByDefault","children"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fluentui/react-tags",
|
|
3
|
-
"version": "0.0.0-nightly-
|
|
3
|
+
"version": "0.0.0-nightly-20250828-0408.1",
|
|
4
4
|
"description": "Fluent UI Tag component",
|
|
5
5
|
"main": "lib-commonjs/index.js",
|
|
6
6
|
"module": "lib/index.js",
|
|
@@ -12,23 +12,23 @@
|
|
|
12
12
|
},
|
|
13
13
|
"license": "MIT",
|
|
14
14
|
"devDependencies": {
|
|
15
|
-
"@fluentui/react-provider": "0.0.0-nightly-
|
|
15
|
+
"@fluentui/react-provider": "0.0.0-nightly-20250828-0408.1",
|
|
16
16
|
"@fluentui/eslint-plugin": "*",
|
|
17
|
-
"@fluentui/react-conformance": "0.0.0-nightly-
|
|
18
|
-
"@fluentui/react-conformance-griffel": "0.0.0-nightly-
|
|
17
|
+
"@fluentui/react-conformance": "0.0.0-nightly-20250828-0408.1",
|
|
18
|
+
"@fluentui/react-conformance-griffel": "0.0.0-nightly-20250828-0408.1",
|
|
19
19
|
"@fluentui/scripts-api-extractor": "*",
|
|
20
20
|
"@fluentui/scripts-cypress": "*"
|
|
21
21
|
},
|
|
22
22
|
"dependencies": {
|
|
23
|
-
"@fluentui/keyboard-keys": "0.0.0-nightly-
|
|
24
|
-
"@fluentui/react-aria": "0.0.0-nightly-
|
|
25
|
-
"@fluentui/react-avatar": "0.0.0-nightly-
|
|
23
|
+
"@fluentui/keyboard-keys": "0.0.0-nightly-20250828-0408.1",
|
|
24
|
+
"@fluentui/react-aria": "0.0.0-nightly-20250828-0408.1",
|
|
25
|
+
"@fluentui/react-avatar": "0.0.0-nightly-20250828-0408.1",
|
|
26
26
|
"@fluentui/react-icons": "^2.0.245",
|
|
27
|
-
"@fluentui/react-jsx-runtime": "0.0.0-nightly-
|
|
28
|
-
"@fluentui/react-shared-contexts": "0.0.0-nightly-
|
|
29
|
-
"@fluentui/react-tabster": "0.0.0-nightly-
|
|
30
|
-
"@fluentui/react-theme": "0.0.0-nightly-
|
|
31
|
-
"@fluentui/react-utilities": "0.0.0-nightly-
|
|
27
|
+
"@fluentui/react-jsx-runtime": "0.0.0-nightly-20250828-0408.1",
|
|
28
|
+
"@fluentui/react-shared-contexts": "0.0.0-nightly-20250828-0408.1",
|
|
29
|
+
"@fluentui/react-tabster": "0.0.0-nightly-20250828-0408.1",
|
|
30
|
+
"@fluentui/react-theme": "0.0.0-nightly-20250828-0408.1",
|
|
31
|
+
"@fluentui/react-utilities": "0.0.0-nightly-20250828-0408.1",
|
|
32
32
|
"@griffel/react": "^1.5.22",
|
|
33
33
|
"@swc/helpers": "^0.5.1"
|
|
34
34
|
},
|