@fluentui/react-badge 9.5.0 → 9.5.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 +11 -2
- package/lib/components/PresenceBadge/usePresenceBadge.js +4 -3
- package/lib/components/PresenceBadge/usePresenceBadge.js.map +1 -1
- package/lib-commonjs/components/PresenceBadge/usePresenceBadge.js +6 -2
- package/lib-commonjs/components/PresenceBadge/usePresenceBadge.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,12 +1,21 @@
|
|
|
1
1
|
# Change Log - @fluentui/react-badge
|
|
2
2
|
|
|
3
|
-
This log was last generated on
|
|
3
|
+
This log was last generated on Mon, 30 Mar 2026 14:35:48 GMT and should not be manually modified.
|
|
4
4
|
|
|
5
5
|
<!-- Start content -->
|
|
6
6
|
|
|
7
|
+
## [9.5.1](https://github.com/microsoft/fluentui/tree/@fluentui/react-badge_v9.5.1)
|
|
8
|
+
|
|
9
|
+
Mon, 30 Mar 2026 14:35:48 GMT
|
|
10
|
+
[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-badge_v9.5.0..@fluentui/react-badge_v9.5.1)
|
|
11
|
+
|
|
12
|
+
### Patches
|
|
13
|
+
|
|
14
|
+
- fix: fix incorrect PresenceBadge aria-label ([PR #35927](https://github.com/microsoft/fluentui/pull/35927) by dmytrokirpa@microsoft.com)
|
|
15
|
+
|
|
7
16
|
## [9.5.0](https://github.com/microsoft/fluentui/tree/@fluentui/react-badge_v9.5.0)
|
|
8
17
|
|
|
9
|
-
Thu, 26 Mar 2026 08:
|
|
18
|
+
Thu, 26 Mar 2026 08:12:47 GMT
|
|
10
19
|
[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-badge_v9.4.15..@fluentui/react-badge_v9.5.0)
|
|
11
20
|
|
|
12
21
|
### Minor changes
|
|
@@ -23,7 +23,7 @@ const iconMap = (status, outOfOffice, size)=>{
|
|
|
23
23
|
return presenceUnknownRegular[size];
|
|
24
24
|
}
|
|
25
25
|
};
|
|
26
|
-
const DEFAULT_STRINGS = {
|
|
26
|
+
export const DEFAULT_STRINGS = {
|
|
27
27
|
busy: 'busy',
|
|
28
28
|
'out-of-office': 'out of office',
|
|
29
29
|
away: 'away',
|
|
@@ -36,7 +36,9 @@ const DEFAULT_STRINGS = {
|
|
|
36
36
|
/**
|
|
37
37
|
* Returns the props and state required to render the component
|
|
38
38
|
*/ export const usePresenceBadge_unstable = (props, ref)=>{
|
|
39
|
-
const { size = 'medium',
|
|
39
|
+
const { size = 'medium', outOfOffice = false, ...baseProps } = props;
|
|
40
|
+
var _props_status;
|
|
41
|
+
const status = (_props_status = props.status) !== null && _props_status !== void 0 ? _props_status : 'available';
|
|
40
42
|
const IconElement = iconMap(status, outOfOffice, size);
|
|
41
43
|
const state = {
|
|
42
44
|
...usePresenceBadgeBase_unstable(baseProps, ref),
|
|
@@ -44,7 +46,6 @@ const DEFAULT_STRINGS = {
|
|
|
44
46
|
color: 'brand',
|
|
45
47
|
shape: 'circular',
|
|
46
48
|
size,
|
|
47
|
-
status,
|
|
48
49
|
outOfOffice
|
|
49
50
|
};
|
|
50
51
|
if (state.icon) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/PresenceBadge/usePresenceBadge.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { slot } from '@fluentui/react-utilities';\nimport {\n presenceAvailableFilled,\n presenceAvailableRegular,\n presenceAwayFilled,\n presenceBlockedRegular,\n presenceBusyFilled,\n presenceDndFilled,\n presenceDndRegular,\n presenceOfflineRegular,\n presenceOofRegular,\n presenceUnknownRegular,\n} from './presenceIcons';\nimport { useBadgeBase_unstable } from '../Badge/index';\nimport type {\n PresenceBadgeBaseProps,\n PresenceBadgeBaseState,\n PresenceBadgeProps,\n PresenceBadgeState,\n} from './PresenceBadge.types';\n\nconst iconMap = (status: PresenceBadgeState['status'], outOfOffice: boolean, size: PresenceBadgeState['size']) => {\n switch (status) {\n case 'available':\n return outOfOffice ? presenceAvailableRegular[size] : presenceAvailableFilled[size];\n case 'away':\n return outOfOffice ? presenceOofRegular[size] : presenceAwayFilled[size];\n case 'blocked':\n return presenceBlockedRegular[size];\n case 'busy':\n return outOfOffice ? presenceUnknownRegular[size] : presenceBusyFilled[size];\n case 'do-not-disturb':\n return outOfOffice ? presenceDndRegular[size] : presenceDndFilled[size];\n case 'offline':\n return outOfOffice ? presenceOofRegular[size] : presenceOfflineRegular[size];\n case 'out-of-office':\n return presenceOofRegular[size];\n case 'unknown':\n return presenceUnknownRegular[size];\n }\n};\n\
|
|
1
|
+
{"version":3,"sources":["../src/components/PresenceBadge/usePresenceBadge.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { slot } from '@fluentui/react-utilities';\nimport {\n presenceAvailableFilled,\n presenceAvailableRegular,\n presenceAwayFilled,\n presenceBlockedRegular,\n presenceBusyFilled,\n presenceDndFilled,\n presenceDndRegular,\n presenceOfflineRegular,\n presenceOofRegular,\n presenceUnknownRegular,\n} from './presenceIcons';\nimport { useBadgeBase_unstable } from '../Badge/index';\nimport type {\n PresenceBadgeBaseProps,\n PresenceBadgeBaseState,\n PresenceBadgeProps,\n PresenceBadgeState,\n} from './PresenceBadge.types';\n\nconst iconMap = (status: PresenceBadgeState['status'], outOfOffice: boolean, size: PresenceBadgeState['size']) => {\n switch (status) {\n case 'available':\n return outOfOffice ? presenceAvailableRegular[size] : presenceAvailableFilled[size];\n case 'away':\n return outOfOffice ? presenceOofRegular[size] : presenceAwayFilled[size];\n case 'blocked':\n return presenceBlockedRegular[size];\n case 'busy':\n return outOfOffice ? presenceUnknownRegular[size] : presenceBusyFilled[size];\n case 'do-not-disturb':\n return outOfOffice ? presenceDndRegular[size] : presenceDndFilled[size];\n case 'offline':\n return outOfOffice ? presenceOofRegular[size] : presenceOfflineRegular[size];\n case 'out-of-office':\n return presenceOofRegular[size];\n case 'unknown':\n return presenceUnknownRegular[size];\n }\n};\n\nexport const DEFAULT_STRINGS = {\n busy: 'busy',\n 'out-of-office': 'out of office',\n away: 'away',\n available: 'available',\n offline: 'offline',\n 'do-not-disturb': 'do not disturb',\n unknown: 'unknown',\n blocked: 'blocked',\n};\n\n/**\n * Returns the props and state required to render the component\n */\nexport const usePresenceBadge_unstable = (\n props: PresenceBadgeProps,\n ref: React.Ref<HTMLElement>,\n): PresenceBadgeState => {\n const { size = 'medium', outOfOffice = false, ...baseProps } = props;\n const status = props.status ?? 'available';\n\n const IconElement = iconMap(status, outOfOffice, size);\n\n const state: PresenceBadgeState = {\n ...usePresenceBadgeBase_unstable(baseProps, ref),\n appearance: 'filled',\n color: 'brand',\n shape: 'circular',\n size,\n outOfOffice,\n };\n\n if (state.icon) {\n state.icon.children ??= <IconElement />;\n }\n\n return state;\n};\n\n/**\n * Base hook for PresenceBadge component, which manages state related to presence status and ARIA attributes.\n * Note: size is excluded from BaseProps as it is a design prop; icon selection uses the 'medium' size default.\n * To render size-specific icons, use the full usePresenceBadge_unstable hook.\n *\n * @param props - User provided props to the PresenceBadge component.\n * @param ref - User provided ref to be passed to the PresenceBadge component.\n */\nexport const usePresenceBadgeBase_unstable = (\n props: PresenceBadgeBaseProps,\n ref: React.Ref<HTMLElement>,\n): PresenceBadgeBaseState => {\n const { status = 'available', outOfOffice = false } = props;\n\n const statusText = DEFAULT_STRINGS[status];\n const oofText = props.outOfOffice && props.status !== 'out-of-office' ? ` ${DEFAULT_STRINGS['out-of-office']}` : '';\n\n const state: PresenceBadgeBaseState = {\n ...useBadgeBase_unstable(\n {\n 'aria-label': statusText + oofText,\n role: 'img',\n ...props,\n icon: slot.optional(props.icon, {\n renderByDefault: true,\n elementType: 'span',\n }),\n },\n ref as React.Ref<HTMLDivElement>,\n ),\n status,\n outOfOffice,\n };\n\n return state;\n};\n"],"names":["React","slot","presenceAvailableFilled","presenceAvailableRegular","presenceAwayFilled","presenceBlockedRegular","presenceBusyFilled","presenceDndFilled","presenceDndRegular","presenceOfflineRegular","presenceOofRegular","presenceUnknownRegular","useBadgeBase_unstable","iconMap","status","outOfOffice","size","DEFAULT_STRINGS","busy","away","available","offline","unknown","blocked","usePresenceBadge_unstable","props","ref","baseProps","IconElement","state","usePresenceBadgeBase_unstable","appearance","color","shape","icon","children","statusText","oofText","role","optional","renderByDefault","elementType"],"mappings":"AAAA;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,IAAI,QAAQ,4BAA4B;AACjD,SACEC,uBAAuB,EACvBC,wBAAwB,EACxBC,kBAAkB,EAClBC,sBAAsB,EACtBC,kBAAkB,EAClBC,iBAAiB,EACjBC,kBAAkB,EAClBC,sBAAsB,EACtBC,kBAAkB,EAClBC,sBAAsB,QACjB,kBAAkB;AACzB,SAASC,qBAAqB,QAAQ,iBAAiB;AAQvD,MAAMC,UAAU,CAACC,QAAsCC,aAAsBC;IAC3E,OAAQF;QACN,KAAK;YACH,OAAOC,cAAcZ,wBAAwB,CAACa,KAAK,GAAGd,uBAAuB,CAACc,KAAK;QACrF,KAAK;YACH,OAAOD,cAAcL,kBAAkB,CAACM,KAAK,GAAGZ,kBAAkB,CAACY,KAAK;QAC1E,KAAK;YACH,OAAOX,sBAAsB,CAACW,KAAK;QACrC,KAAK;YACH,OAAOD,cAAcJ,sBAAsB,CAACK,KAAK,GAAGV,kBAAkB,CAACU,KAAK;QAC9E,KAAK;YACH,OAAOD,cAAcP,kBAAkB,CAACQ,KAAK,GAAGT,iBAAiB,CAACS,KAAK;QACzE,KAAK;YACH,OAAOD,cAAcL,kBAAkB,CAACM,KAAK,GAAGP,sBAAsB,CAACO,KAAK;QAC9E,KAAK;YACH,OAAON,kBAAkB,CAACM,KAAK;QACjC,KAAK;YACH,OAAOL,sBAAsB,CAACK,KAAK;IACvC;AACF;AAEA,OAAO,MAAMC,kBAAkB;IAC7BC,MAAM;IACN,iBAAiB;IACjBC,MAAM;IACNC,WAAW;IACXC,SAAS;IACT,kBAAkB;IAClBC,SAAS;IACTC,SAAS;AACX,EAAE;AAEF;;CAEC,GACD,OAAO,MAAMC,4BAA4B,CACvCC,OACAC;IAEA,MAAM,EAAEV,OAAO,QAAQ,EAAED,cAAc,KAAK,EAAE,GAAGY,WAAW,GAAGF;QAChDA;IAAf,MAAMX,SAASW,CAAAA,gBAAAA,MAAMX,MAAM,cAAZW,2BAAAA,gBAAgB;IAE/B,MAAMG,cAAcf,QAAQC,QAAQC,aAAaC;IAEjD,MAAMa,QAA4B;QAChC,GAAGC,8BAA8BH,WAAWD,IAAI;QAChDK,YAAY;QACZC,OAAO;QACPC,OAAO;QACPjB;QACAD;IACF;IAEA,IAAIc,MAAMK,IAAI,EAAE;YACdL;;QAAAA,cAAAA,cAAAA,MAAMK,IAAI,EAACC,yDAAXN,YAAWM,yBAAa,oBAACP;IAC3B;IAEA,OAAOC;AACT,EAAE;AAEF;;;;;;;CAOC,GACD,OAAO,MAAMC,gCAAgC,CAC3CL,OACAC;IAEA,MAAM,EAAEZ,SAAS,WAAW,EAAEC,cAAc,KAAK,EAAE,GAAGU;IAEtD,MAAMW,aAAanB,eAAe,CAACH,OAAO;IAC1C,MAAMuB,UAAUZ,MAAMV,WAAW,IAAIU,MAAMX,MAAM,KAAK,kBAAkB,CAAC,CAAC,EAAEG,eAAe,CAAC,gBAAgB,EAAE,GAAG;IAEjH,MAAMY,QAAgC;QACpC,GAAGjB,sBACD;YACE,cAAcwB,aAAaC;YAC3BC,MAAM;YACN,GAAGb,KAAK;YACRS,MAAMjC,KAAKsC,QAAQ,CAACd,MAAMS,IAAI,EAAE;gBAC9BM,iBAAiB;gBACjBC,aAAa;YACf;QACF,GACAf,IACD;QACDZ;QACAC;IACF;IAEA,OAAOc;AACT,EAAE"}
|
|
@@ -10,6 +10,9 @@ function _export(target, all) {
|
|
|
10
10
|
});
|
|
11
11
|
}
|
|
12
12
|
_export(exports, {
|
|
13
|
+
DEFAULT_STRINGS: function() {
|
|
14
|
+
return DEFAULT_STRINGS;
|
|
15
|
+
},
|
|
13
16
|
usePresenceBadgeBase_unstable: function() {
|
|
14
17
|
return usePresenceBadgeBase_unstable;
|
|
15
18
|
},
|
|
@@ -53,7 +56,9 @@ const DEFAULT_STRINGS = {
|
|
|
53
56
|
blocked: 'blocked'
|
|
54
57
|
};
|
|
55
58
|
const usePresenceBadge_unstable = (props, ref)=>{
|
|
56
|
-
const { size = 'medium',
|
|
59
|
+
const { size = 'medium', outOfOffice = false, ...baseProps } = props;
|
|
60
|
+
var _props_status;
|
|
61
|
+
const status = (_props_status = props.status) !== null && _props_status !== void 0 ? _props_status : 'available';
|
|
57
62
|
const IconElement = iconMap(status, outOfOffice, size);
|
|
58
63
|
const state = {
|
|
59
64
|
...usePresenceBadgeBase_unstable(baseProps, ref),
|
|
@@ -61,7 +66,6 @@ const usePresenceBadge_unstable = (props, ref)=>{
|
|
|
61
66
|
color: 'brand',
|
|
62
67
|
shape: 'circular',
|
|
63
68
|
size,
|
|
64
|
-
status,
|
|
65
69
|
outOfOffice
|
|
66
70
|
};
|
|
67
71
|
if (state.icon) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/PresenceBadge/usePresenceBadge.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { slot } from '@fluentui/react-utilities';\nimport {\n presenceAvailableFilled,\n presenceAvailableRegular,\n presenceAwayFilled,\n presenceBlockedRegular,\n presenceBusyFilled,\n presenceDndFilled,\n presenceDndRegular,\n presenceOfflineRegular,\n presenceOofRegular,\n presenceUnknownRegular,\n} from './presenceIcons';\nimport { useBadgeBase_unstable } from '../Badge/index';\nimport type {\n PresenceBadgeBaseProps,\n PresenceBadgeBaseState,\n PresenceBadgeProps,\n PresenceBadgeState,\n} from './PresenceBadge.types';\n\nconst iconMap = (status: PresenceBadgeState['status'], outOfOffice: boolean, size: PresenceBadgeState['size']) => {\n switch (status) {\n case 'available':\n return outOfOffice ? presenceAvailableRegular[size] : presenceAvailableFilled[size];\n case 'away':\n return outOfOffice ? presenceOofRegular[size] : presenceAwayFilled[size];\n case 'blocked':\n return presenceBlockedRegular[size];\n case 'busy':\n return outOfOffice ? presenceUnknownRegular[size] : presenceBusyFilled[size];\n case 'do-not-disturb':\n return outOfOffice ? presenceDndRegular[size] : presenceDndFilled[size];\n case 'offline':\n return outOfOffice ? presenceOofRegular[size] : presenceOfflineRegular[size];\n case 'out-of-office':\n return presenceOofRegular[size];\n case 'unknown':\n return presenceUnknownRegular[size];\n }\n};\n\
|
|
1
|
+
{"version":3,"sources":["../src/components/PresenceBadge/usePresenceBadge.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { slot } from '@fluentui/react-utilities';\nimport {\n presenceAvailableFilled,\n presenceAvailableRegular,\n presenceAwayFilled,\n presenceBlockedRegular,\n presenceBusyFilled,\n presenceDndFilled,\n presenceDndRegular,\n presenceOfflineRegular,\n presenceOofRegular,\n presenceUnknownRegular,\n} from './presenceIcons';\nimport { useBadgeBase_unstable } from '../Badge/index';\nimport type {\n PresenceBadgeBaseProps,\n PresenceBadgeBaseState,\n PresenceBadgeProps,\n PresenceBadgeState,\n} from './PresenceBadge.types';\n\nconst iconMap = (status: PresenceBadgeState['status'], outOfOffice: boolean, size: PresenceBadgeState['size']) => {\n switch (status) {\n case 'available':\n return outOfOffice ? presenceAvailableRegular[size] : presenceAvailableFilled[size];\n case 'away':\n return outOfOffice ? presenceOofRegular[size] : presenceAwayFilled[size];\n case 'blocked':\n return presenceBlockedRegular[size];\n case 'busy':\n return outOfOffice ? presenceUnknownRegular[size] : presenceBusyFilled[size];\n case 'do-not-disturb':\n return outOfOffice ? presenceDndRegular[size] : presenceDndFilled[size];\n case 'offline':\n return outOfOffice ? presenceOofRegular[size] : presenceOfflineRegular[size];\n case 'out-of-office':\n return presenceOofRegular[size];\n case 'unknown':\n return presenceUnknownRegular[size];\n }\n};\n\nexport const DEFAULT_STRINGS = {\n busy: 'busy',\n 'out-of-office': 'out of office',\n away: 'away',\n available: 'available',\n offline: 'offline',\n 'do-not-disturb': 'do not disturb',\n unknown: 'unknown',\n blocked: 'blocked',\n};\n\n/**\n * Returns the props and state required to render the component\n */\nexport const usePresenceBadge_unstable = (\n props: PresenceBadgeProps,\n ref: React.Ref<HTMLElement>,\n): PresenceBadgeState => {\n const { size = 'medium', outOfOffice = false, ...baseProps } = props;\n const status = props.status ?? 'available';\n\n const IconElement = iconMap(status, outOfOffice, size);\n\n const state: PresenceBadgeState = {\n ...usePresenceBadgeBase_unstable(baseProps, ref),\n appearance: 'filled',\n color: 'brand',\n shape: 'circular',\n size,\n outOfOffice,\n };\n\n if (state.icon) {\n state.icon.children ??= <IconElement />;\n }\n\n return state;\n};\n\n/**\n * Base hook for PresenceBadge component, which manages state related to presence status and ARIA attributes.\n * Note: size is excluded from BaseProps as it is a design prop; icon selection uses the 'medium' size default.\n * To render size-specific icons, use the full usePresenceBadge_unstable hook.\n *\n * @param props - User provided props to the PresenceBadge component.\n * @param ref - User provided ref to be passed to the PresenceBadge component.\n */\nexport const usePresenceBadgeBase_unstable = (\n props: PresenceBadgeBaseProps,\n ref: React.Ref<HTMLElement>,\n): PresenceBadgeBaseState => {\n const { status = 'available', outOfOffice = false } = props;\n\n const statusText = DEFAULT_STRINGS[status];\n const oofText = props.outOfOffice && props.status !== 'out-of-office' ? ` ${DEFAULT_STRINGS['out-of-office']}` : '';\n\n const state: PresenceBadgeBaseState = {\n ...useBadgeBase_unstable(\n {\n 'aria-label': statusText + oofText,\n role: 'img',\n ...props,\n icon: slot.optional(props.icon, {\n renderByDefault: true,\n elementType: 'span',\n }),\n },\n ref as React.Ref<HTMLDivElement>,\n ),\n status,\n outOfOffice,\n };\n\n return state;\n};\n"],"names":["React","slot","presenceAvailableFilled","presenceAvailableRegular","presenceAwayFilled","presenceBlockedRegular","presenceBusyFilled","presenceDndFilled","presenceDndRegular","presenceOfflineRegular","presenceOofRegular","presenceUnknownRegular","useBadgeBase_unstable","iconMap","status","outOfOffice","size","DEFAULT_STRINGS","busy","away","available","offline","unknown","blocked","usePresenceBadge_unstable","props","ref","baseProps","IconElement","state","usePresenceBadgeBase_unstable","appearance","color","shape","icon","children","statusText","oofText","role","optional","renderByDefault","elementType"],"mappings":"AAAA;;;;;;;;;;;;mBA6CaiB;eAAAA;;iCA+CAa;eAAAA;;IAjCAN,yBAAAA;;;;;iEAzDU,QAAQ;gCACV,4BAA4B;+BAY1C,kBAAkB;uBACa,iBAAiB;AAQvD,MAAMX,UAAU,CAACC,QAAsCC,aAAsBC;IAC3E,OAAQF;QACN,KAAK;YACH,OAAOC,cAAcZ,uCAAwB,CAACa,KAAK,GAAGd,sCAAuB,CAACc,KAAK;QACrF,KAAK;YACH,OAAOD,cAAcL,iCAAkB,CAACM,KAAK,GAAGZ,iCAAkB,CAACY,KAAK;QAC1E,KAAK;YACH,OAAOX,qCAAsB,CAACW,KAAK;QACrC,KAAK;YACH,OAAOD,cAAcJ,qCAAsB,CAACK,KAAK,GAAGV,iCAAkB,CAACU,KAAK;QAC9E,KAAK;YACH,OAAOD,cAAcP,iCAAkB,CAACQ,KAAK,GAAGT,gCAAiB,CAACS,KAAK;QACzE,KAAK;YACH,OAAOD,cAAcL,iCAAkB,CAACM,KAAK,GAAGP,qCAAsB,CAACO,KAAK;QAC9E,KAAK;YACH,OAAON,iCAAkB,CAACM,KAAK;QACjC,KAAK;YACH,OAAOL,qCAAsB,CAACK,KAAK;IACvC;AACF;AAEO,wBAAwB;IAC7BE,MAAM;IACN,iBAAiB;IACjBC,MAAM;IACNC,WAAW;IACXC,SAAS;IACT,kBAAkB;IAClBC,SAAS;IACTC,SAAS;AACX,EAAE;AAKK,kCAAkC,CACvCE,OACAC;IAEA,MAAM,EAAEV,OAAO,QAAQ,EAAED,cAAc,KAAK,EAAE,GAAGY,WAAW,GAAGF;QAChDA;IAAf,MAAMX,SAASW,iBAAAA,MAAMX,MAAAA,AAAM,MAAA,QAAZW,kBAAAA,KAAAA,IAAAA,gBAAgB;IAE/B,MAAMG,cAAcf,QAAQC,QAAQC,aAAaC;IAEjD,MAAMa,QAA4B;QAChC,GAAGC,8BAA8BH,WAAWD,IAAI;QAChDK,YAAY;QACZC,OAAO;QACPC,OAAO;QACPjB;QACAD;IACF;IAEA,IAAIc,MAAMK,IAAI,EAAE;YACdL;;QAAAA,CAAAA,YAAAA,CAAAA,cAAAA,MAAMK,IAAAA,AAAI,EAACC,QAAAA,MAAAA,QAAAA,cAAAA,KAAAA,IAAAA,YAAXN,YAAWM,QAAAA,GAAAA,WAAAA,GAAa,OAAA,aAAA,CAACP,aAAAA;IAC3B;IAEA,OAAOC;AACT,EAAE;AAUK,sCAAsC,CAC3CJ,OACAC;IAEA,MAAM,EAAEZ,SAAS,WAAW,EAAEC,cAAc,KAAK,EAAE,GAAGU;IAEtD,MAAMW,aAAanB,eAAe,CAACH,OAAO;IAC1C,MAAMuB,UAAUZ,MAAMV,WAAW,IAAIU,MAAMX,MAAM,KAAK,kBAAkB,CAAC,CAAC,EAAEG,eAAe,CAAC,gBAAgB,EAAE,GAAG;IAEjH,MAAMY,QAAgC;QACpC,OAAGjB,4BAAAA,EACD;YACE,cAAcwB,aAAaC;YAC3BC,MAAM;YACN,GAAGb,KAAK;YACRS,MAAMjC,oBAAAA,CAAKsC,QAAQ,CAACd,MAAMS,IAAI,EAAE;gBAC9BM,iBAAiB;gBACjBC,aAAa;YACf;QACF,GACAf,IACD;QACDZ;QACAC;IACF;IAEA,OAAOc;AACT,EAAE"}
|