@fluentui/react-menu 0.0.0-nightly-20230502-0418.1 → 0.0.0-nightly-20230504-0417.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.json +25 -25
- package/CHANGELOG.md +15 -15
- package/dist/index.d.ts +755 -0
- package/lib/Menu.js +2 -0
- package/lib/Menu.js.map +1 -0
- package/lib/MenuDivider.js +2 -0
- package/lib/MenuDivider.js.map +1 -0
- package/lib/MenuGroup.js +2 -0
- package/lib/MenuGroup.js.map +1 -0
- package/lib/MenuGroupHeader.js +2 -0
- package/lib/MenuGroupHeader.js.map +1 -0
- package/lib/MenuItem.js +2 -0
- package/lib/MenuItem.js.map +1 -0
- package/lib/MenuItemCheckbox.js +2 -0
- package/lib/MenuItemCheckbox.js.map +1 -0
- package/lib/MenuItemRadio.js +2 -0
- package/lib/MenuItemRadio.js.map +1 -0
- package/lib/MenuList.js +2 -0
- package/lib/MenuList.js.map +1 -0
- package/lib/MenuPopover.js +2 -0
- package/lib/MenuPopover.js.map +1 -0
- package/lib/MenuSplitGroup.js +2 -0
- package/lib/MenuSplitGroup.js.map +1 -0
- package/lib/MenuTrigger.js +2 -0
- package/lib/MenuTrigger.js.map +1 -0
- package/lib/components/Menu/Menu.js +14 -0
- package/lib/components/Menu/Menu.js.map +1 -0
- package/lib/components/Menu/Menu.types.js +2 -0
- package/lib/components/Menu/Menu.types.js.map +1 -0
- package/lib/components/Menu/index.js +6 -0
- package/lib/components/Menu/index.js.map +1 -0
- package/lib/components/Menu/renderMenu.js +11 -0
- package/lib/components/Menu/renderMenu.js.map +1 -0
- package/lib/components/Menu/useMenu.js +268 -0
- package/lib/components/Menu/useMenu.js.map +1 -0
- package/lib/components/Menu/useMenuContextValues.js +41 -0
- package/lib/components/Menu/useMenuContextValues.js.map +1 -0
- package/lib/components/MenuDivider/MenuDivider.js +16 -0
- package/lib/components/MenuDivider/MenuDivider.js.map +1 -0
- package/lib/components/MenuDivider/MenuDivider.types.js +2 -0
- package/lib/components/MenuDivider/MenuDivider.types.js.map +1 -0
- package/lib/components/MenuDivider/index.js +6 -0
- package/lib/components/MenuDivider/index.js.map +1 -0
- package/lib/components/MenuDivider/renderMenuDivider.js +14 -0
- package/lib/components/MenuDivider/renderMenuDivider.js.map +1 -0
- package/lib/components/MenuDivider/useMenuDivider.js +19 -0
- package/lib/components/MenuDivider/useMenuDivider.js.map +1 -0
- package/lib/components/MenuDivider/useMenuDividerStyles.styles.js +25 -0
- package/lib/components/MenuDivider/useMenuDividerStyles.styles.js.map +1 -0
- package/lib/components/MenuGroup/MenuGroup.js +18 -0
- package/lib/components/MenuGroup/MenuGroup.js.map +1 -0
- package/lib/components/MenuGroup/MenuGroup.types.js +2 -0
- package/lib/components/MenuGroup/MenuGroup.types.js.map +1 -0
- package/lib/components/MenuGroup/index.js +7 -0
- package/lib/components/MenuGroup/index.js.map +1 -0
- package/lib/components/MenuGroup/renderMenuGroup.js +17 -0
- package/lib/components/MenuGroup/renderMenuGroup.js.map +1 -0
- package/lib/components/MenuGroup/useMenuGroup.js +21 -0
- package/lib/components/MenuGroup/useMenuGroup.js.map +1 -0
- package/lib/components/MenuGroup/useMenuGroupContextValues.js +13 -0
- package/lib/components/MenuGroup/useMenuGroupContextValues.js.map +1 -0
- package/lib/components/MenuGroup/useMenuGroupStyles.styles.js +9 -0
- package/lib/components/MenuGroup/useMenuGroupStyles.styles.js.map +1 -0
- package/lib/components/MenuGroupHeader/MenuGroupHeader.js +16 -0
- package/lib/components/MenuGroupHeader/MenuGroupHeader.js.map +1 -0
- package/lib/components/MenuGroupHeader/MenuGroupHeader.types.js +2 -0
- package/lib/components/MenuGroupHeader/MenuGroupHeader.types.js.map +1 -0
- package/lib/components/MenuGroupHeader/index.js +6 -0
- package/lib/components/MenuGroupHeader/index.js.map +1 -0
- package/lib/components/MenuGroupHeader/renderMenuGroupHeader.js +14 -0
- package/lib/components/MenuGroupHeader/renderMenuGroupHeader.js.map +1 -0
- package/lib/components/MenuGroupHeader/useMenuGroupHeader.js +22 -0
- package/lib/components/MenuGroupHeader/useMenuGroupHeader.js.map +1 -0
- package/lib/components/MenuGroupHeader/useMenuGroupHeaderStyles.styles.js +25 -0
- package/lib/components/MenuGroupHeader/useMenuGroupHeaderStyles.styles.js.map +1 -0
- package/lib/components/MenuItem/MenuItem.js +16 -0
- package/lib/components/MenuItem/MenuItem.js.map +1 -0
- package/lib/components/MenuItem/MenuItem.types.js +2 -0
- package/lib/components/MenuItem/MenuItem.types.js.map +1 -0
- package/lib/components/MenuItem/index.js +6 -0
- package/lib/components/MenuItem/index.js.map +1 -0
- package/lib/components/MenuItem/renderMenuItem.js +13 -0
- package/lib/components/MenuItem/renderMenuItem.js.map +1 -0
- package/lib/components/MenuItem/useCharacterSearch.js +20 -0
- package/lib/components/MenuItem/useCharacterSearch.js.map +1 -0
- package/lib/components/MenuItem/useMenuItem.js +101 -0
- package/lib/components/MenuItem/useMenuItem.js.map +1 -0
- package/lib/components/MenuItem/useMenuItemStyles.styles.js +150 -0
- package/lib/components/MenuItem/useMenuItemStyles.styles.js.map +1 -0
- package/lib/components/MenuItemCheckbox/MenuItemCheckbox.js +16 -0
- package/lib/components/MenuItemCheckbox/MenuItemCheckbox.js.map +1 -0
- package/lib/components/MenuItemCheckbox/MenuItemCheckbox.types.js +2 -0
- package/lib/components/MenuItemCheckbox/MenuItemCheckbox.types.js.map +1 -0
- package/lib/components/MenuItemCheckbox/index.js +6 -0
- package/lib/components/MenuItemCheckbox/index.js.map +1 -0
- package/lib/components/MenuItemCheckbox/renderMenuItemCheckbox.js +11 -0
- package/lib/components/MenuItemCheckbox/renderMenuItemCheckbox.js.map +1 -0
- package/lib/components/MenuItemCheckbox/useMenuItemCheckbox.js +42 -0
- package/lib/components/MenuItemCheckbox/useMenuItemCheckbox.js.map +1 -0
- package/lib/components/MenuItemCheckbox/useMenuItemCheckboxStyles.styles.js +28 -0
- package/lib/components/MenuItemCheckbox/useMenuItemCheckboxStyles.styles.js.map +1 -0
- package/lib/components/MenuItemRadio/MenuItemRadio.js +16 -0
- package/lib/components/MenuItemRadio/MenuItemRadio.js.map +1 -0
- package/lib/components/MenuItemRadio/MenuItemRadio.types.js +2 -0
- package/lib/components/MenuItemRadio/MenuItemRadio.types.js.map +1 -0
- package/lib/components/MenuItemRadio/index.js +6 -0
- package/lib/components/MenuItemRadio/index.js.map +1 -0
- package/lib/components/MenuItemRadio/renderMenuItemRadio.js +14 -0
- package/lib/components/MenuItemRadio/renderMenuItemRadio.js.map +1 -0
- package/lib/components/MenuItemRadio/useMenuItemRadio.js +42 -0
- package/lib/components/MenuItemRadio/useMenuItemRadio.js.map +1 -0
- package/lib/components/MenuItemRadio/useMenuItemRadioStyles.styles.js +28 -0
- package/lib/components/MenuItemRadio/useMenuItemRadioStyles.styles.js.map +1 -0
- package/lib/components/MenuList/MenuList.js +18 -0
- package/lib/components/MenuList/MenuList.js.map +1 -0
- package/lib/components/MenuList/MenuList.types.js +2 -0
- package/lib/components/MenuList/MenuList.types.js.map +1 -0
- package/lib/components/MenuList/index.js +7 -0
- package/lib/components/MenuList/index.js.map +1 -0
- package/lib/components/MenuList/renderMenuList.js +16 -0
- package/lib/components/MenuList/renderMenuList.js.map +1 -0
- package/lib/components/MenuList/useMenuList.js +147 -0
- package/lib/components/MenuList/useMenuList.js.map +1 -0
- package/lib/components/MenuList/useMenuListContextValues.js +23 -0
- package/lib/components/MenuList/useMenuListContextValues.js.map +1 -0
- package/lib/components/MenuList/useMenuListStyles.styles.js +23 -0
- package/lib/components/MenuList/useMenuListStyles.styles.js.map +1 -0
- package/lib/components/MenuPopover/MenuPopover.js +16 -0
- package/lib/components/MenuPopover/MenuPopover.js.map +1 -0
- package/lib/components/MenuPopover/MenuPopover.types.js +2 -0
- package/lib/components/MenuPopover/MenuPopover.types.js.map +1 -0
- package/lib/components/MenuPopover/index.js +6 -0
- package/lib/components/MenuPopover/index.js.map +1 -0
- package/lib/components/MenuPopover/renderMenuPopover.js +19 -0
- package/lib/components/MenuPopover/renderMenuPopover.js.map +1 -0
- package/lib/components/MenuPopover/useMenuPopover.js +108 -0
- package/lib/components/MenuPopover/useMenuPopover.js.map +1 -0
- package/lib/components/MenuPopover/useMenuPopoverStyles.styles.js +50 -0
- package/lib/components/MenuPopover/useMenuPopoverStyles.styles.js.map +1 -0
- package/lib/components/MenuSplitGroup/MenuSplitGroup.js +16 -0
- package/lib/components/MenuSplitGroup/MenuSplitGroup.js.map +1 -0
- package/lib/components/MenuSplitGroup/MenuSplitGroup.types.js +2 -0
- package/lib/components/MenuSplitGroup/MenuSplitGroup.types.js.map +1 -0
- package/lib/components/MenuSplitGroup/index.js +6 -0
- package/lib/components/MenuSplitGroup/index.js.map +1 -0
- package/lib/components/MenuSplitGroup/renderMenuSplitGroup.js +13 -0
- package/lib/components/MenuSplitGroup/renderMenuSplitGroup.js.map +1 -0
- package/lib/components/MenuSplitGroup/useMenuSplitGroup.js +61 -0
- package/lib/components/MenuSplitGroup/useMenuSplitGroup.js.map +1 -0
- package/lib/components/MenuSplitGroup/useMenuSplitGroupStyles.styles.js +34 -0
- package/lib/components/MenuSplitGroup/useMenuSplitGroupStyles.styles.js.map +1 -0
- package/lib/components/MenuTrigger/MenuTrigger.js +15 -0
- package/lib/components/MenuTrigger/MenuTrigger.js.map +1 -0
- package/lib/components/MenuTrigger/MenuTrigger.types.js +2 -0
- package/lib/components/MenuTrigger/MenuTrigger.types.js.map +1 -0
- package/lib/components/MenuTrigger/index.js +5 -0
- package/lib/components/MenuTrigger/index.js.map +1 -0
- package/lib/components/MenuTrigger/renderMenuTrigger.js +13 -0
- package/lib/components/MenuTrigger/renderMenuTrigger.js.map +1 -0
- package/lib/components/MenuTrigger/useMenuTrigger.styles.js +168 -0
- package/lib/components/MenuTrigger/useMenuTrigger.styles.js.map +1 -0
- package/lib/components/index.js +3 -0
- package/lib/components/index.js.map +1 -0
- package/lib/contexts/menuContext.js +27 -0
- package/lib/contexts/menuContext.js.map +1 -0
- package/lib/contexts/menuGroupContext.js +9 -0
- package/lib/contexts/menuGroupContext.js.map +1 -0
- package/lib/contexts/menuListContext.js +14 -0
- package/lib/contexts/menuListContext.js.map +1 -0
- package/lib/contexts/menuTriggerContext.js +10 -0
- package/lib/contexts/menuTriggerContext.js.map +1 -0
- package/lib/index.js +17 -0
- package/lib/index.js.map +1 -0
- package/lib/selectable/index.js +3 -0
- package/lib/selectable/index.js.map +1 -0
- package/lib/selectable/types.js +2 -0
- package/lib/selectable/types.js.map +1 -0
- package/lib/selectable/useCheckmarkStyles.styles.js +25 -0
- package/lib/selectable/useCheckmarkStyles.styles.js.map +1 -0
- package/lib/utils/index.js +2 -0
- package/lib/utils/index.js.map +1 -0
- package/lib/utils/useIsSubmenu.js +17 -0
- package/lib/utils/useIsSubmenu.js.map +1 -0
- package/lib/utils/useOnMenuEnter.js +65 -0
- package/lib/utils/useOnMenuEnter.js.map +1 -0
- package/package.json +12 -12
- package/.swcrc +0 -30
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
import { mergeClasses, __styles, shorthands } from '@griffel/react';
|
|
2
|
+
import { iconFilledClassName, iconRegularClassName } from '@fluentui/react-icons';
|
|
3
|
+
import { createFocusOutlineStyle } from '@fluentui/react-tabster';
|
|
4
|
+
import { tokens } from '@fluentui/react-theme';
|
|
5
|
+
import { useCheckmarkStyles_unstable } from '../../selectable/index';
|
|
6
|
+
export const menuItemClassNames = {
|
|
7
|
+
root: 'fui-MenuItem',
|
|
8
|
+
icon: 'fui-MenuItem__icon',
|
|
9
|
+
checkmark: 'fui-MenuItem__checkmark',
|
|
10
|
+
submenuIndicator: 'fui-MenuItem__submenuIndicator',
|
|
11
|
+
content: 'fui-MenuItem__content',
|
|
12
|
+
secondaryContent: 'fui-MenuItem__secondaryContent'
|
|
13
|
+
};
|
|
14
|
+
const useStyles = /*#__PURE__*/__styles({
|
|
15
|
+
focusIndicator: {
|
|
16
|
+
Brovlpu: "ftqa4ok",
|
|
17
|
+
B486eqv: "f2hkw1w",
|
|
18
|
+
B8q5s1w: "f8hki3x",
|
|
19
|
+
Bci5o5g: ["f1d2448m", "ffh67wi"],
|
|
20
|
+
n8qw10: "f1bjia2o",
|
|
21
|
+
Bdrgwmp: ["ffh67wi", "f1d2448m"],
|
|
22
|
+
Bm4h7ae: "f15bsgw9",
|
|
23
|
+
B7ys5i9: "f14e48fq",
|
|
24
|
+
Busjfv9: "f18yb2kv",
|
|
25
|
+
Bhk32uz: "fd6o370",
|
|
26
|
+
Bf4ptjt: "fh1cnn4",
|
|
27
|
+
kclons: ["fy7oxxb", "f184ne2d"],
|
|
28
|
+
Bhdgwq3: "fpukqih",
|
|
29
|
+
Blkhhs4: ["f184ne2d", "fy7oxxb"],
|
|
30
|
+
Bqtpl0w: "frrh606",
|
|
31
|
+
clg4pj: ["f1v5zibi", "fo2hd23"],
|
|
32
|
+
hgwjuy: "ful5kiu",
|
|
33
|
+
Bonggc9: ["fo2hd23", "f1v5zibi"],
|
|
34
|
+
B1tsrr9: ["f1jqcqds", "ftffrms"],
|
|
35
|
+
Dah5zi: ["ftffrms", "f1jqcqds"],
|
|
36
|
+
Bkh64rk: ["f2e7qr6", "fsr1zz6"],
|
|
37
|
+
qqdqy8: ["fsr1zz6", "f2e7qr6"],
|
|
38
|
+
B6dhp37: "f1dvezut",
|
|
39
|
+
i03rao: ["fd0oaoj", "f1cwg4i8"],
|
|
40
|
+
Boxcth7: "fjvm52t",
|
|
41
|
+
Bsom6fd: ["f1cwg4i8", "fd0oaoj"],
|
|
42
|
+
J0r882: "fdiulkx",
|
|
43
|
+
Bjwuhne: "f1yalx80",
|
|
44
|
+
Ghsupd: ["fq22d5a", "f1jw7pan"],
|
|
45
|
+
Bule8hv: ["f1jw7pan", "fq22d5a"]
|
|
46
|
+
},
|
|
47
|
+
root: {
|
|
48
|
+
Bbmb7ep: ["f1aa9q02", "f16jpd5f"],
|
|
49
|
+
Beyfa6y: ["f16jpd5f", "f1aa9q02"],
|
|
50
|
+
B7oj6ja: ["f1jar5jt", "fyu767a"],
|
|
51
|
+
Btl43ni: ["fyu767a", "f1jar5jt"],
|
|
52
|
+
qhf8xq: "f10pi13n",
|
|
53
|
+
sj55zd: "fkfq4zb",
|
|
54
|
+
De3pzq: "fxugw4r",
|
|
55
|
+
z189sj: ["f81rol6", "frdkuqy"],
|
|
56
|
+
uwmqm3: ["frdkuqy", "f81rol6"],
|
|
57
|
+
Bqenvij: "f1d2rq10",
|
|
58
|
+
mc9l5x: "f22iagw",
|
|
59
|
+
Bt984gj: "f122n59",
|
|
60
|
+
Be2twd7: "fkhj508",
|
|
61
|
+
Bceei9c: "f1k6fduh",
|
|
62
|
+
i8kkvl: "f1q8lukm",
|
|
63
|
+
Belr9w4: "f1ma2n7n",
|
|
64
|
+
Jwef8y: "f1knas48",
|
|
65
|
+
Bi91k9c: "fnwyq0v",
|
|
66
|
+
Bk3fhr4: "ft1hn21",
|
|
67
|
+
Bmfj8id: "fuxngvv",
|
|
68
|
+
Bg7n49j: "fp258yr",
|
|
69
|
+
famaaq: "f1xqy1su"
|
|
70
|
+
},
|
|
71
|
+
content: {
|
|
72
|
+
uwmqm3: ["f161knb0", "f12huiiw"],
|
|
73
|
+
z189sj: ["f12huiiw", "f161knb0"],
|
|
74
|
+
De3pzq: "f3rmtva",
|
|
75
|
+
Bh6795r: "fqerorx"
|
|
76
|
+
},
|
|
77
|
+
secondaryContent: {
|
|
78
|
+
uwmqm3: ["f161knb0", "f12huiiw"],
|
|
79
|
+
z189sj: ["f12huiiw", "f161knb0"],
|
|
80
|
+
sj55zd: "f11d4kpn",
|
|
81
|
+
Bi91k9c: "f1jp5ecu",
|
|
82
|
+
t0hwav: "fc1cou1"
|
|
83
|
+
},
|
|
84
|
+
icon: {
|
|
85
|
+
a9b677: "f64fuq3",
|
|
86
|
+
Bqenvij: "fjamq6b",
|
|
87
|
+
Be2twd7: "fe5j1ua",
|
|
88
|
+
Bg96gwp: "fez10in",
|
|
89
|
+
Bt984gj: "f122n59",
|
|
90
|
+
mc9l5x: "ftuwxu6",
|
|
91
|
+
Brf1p80: "f4d9j23"
|
|
92
|
+
},
|
|
93
|
+
submenuIndicator: {
|
|
94
|
+
a9b677: "f64fuq3",
|
|
95
|
+
Bqenvij: "fjamq6b",
|
|
96
|
+
Be2twd7: "fe5j1ua",
|
|
97
|
+
Bg96gwp: "fez10in",
|
|
98
|
+
Bt984gj: "f122n59",
|
|
99
|
+
mc9l5x: "ftuwxu6",
|
|
100
|
+
Brf1p80: "f4d9j23"
|
|
101
|
+
},
|
|
102
|
+
disabled: {
|
|
103
|
+
sj55zd: "f1s2aq7o",
|
|
104
|
+
Bi91k9c: "fvgxktp",
|
|
105
|
+
Bk3fhr4: "f19vpps7",
|
|
106
|
+
Bmfj8id: "fv5swzo",
|
|
107
|
+
Bg7n49j: "f1q1x1ba",
|
|
108
|
+
t0hwav: "ft33916",
|
|
109
|
+
Bbusuzp: "f1dcs8yz",
|
|
110
|
+
ze5xyy: "f1kc2mi9",
|
|
111
|
+
Bctn1xl: "fk56vqo",
|
|
112
|
+
Bh6z0a4: "f1ikwg0d"
|
|
113
|
+
}
|
|
114
|
+
}, {
|
|
115
|
+
f: [".ftqa4ok:focus{outline-style:none;}", ".fc1cou1:focus{color:var(--colorNeutralForeground3Hover);}", ".ft33916:focus{color:var(--colorNeutralForegroundDisabled);}"],
|
|
116
|
+
i: [".f2hkw1w:focus-visible{outline-style:none;}"],
|
|
117
|
+
d: [".f8hki3x[data-fui-focus-visible]{border-top-color:transparent;}", ".f1d2448m[data-fui-focus-visible]{border-right-color:transparent;}", ".ffh67wi[data-fui-focus-visible]{border-left-color:transparent;}", ".f1bjia2o[data-fui-focus-visible]{border-bottom-color:transparent;}", ".f15bsgw9[data-fui-focus-visible]::after{content:\"\";}", ".f14e48fq[data-fui-focus-visible]::after{position:absolute;}", ".f18yb2kv[data-fui-focus-visible]::after{pointer-events:none;}", ".fd6o370[data-fui-focus-visible]::after{z-index:1;}", ".fh1cnn4[data-fui-focus-visible]::after{border-top-style:solid;}", ".fy7oxxb[data-fui-focus-visible]::after{border-right-style:solid;}", ".f184ne2d[data-fui-focus-visible]::after{border-left-style:solid;}", ".fpukqih[data-fui-focus-visible]::after{border-bottom-style:solid;}", ".frrh606[data-fui-focus-visible]::after{border-top-width:2px;}", ".f1v5zibi[data-fui-focus-visible]::after{border-right-width:2px;}", ".fo2hd23[data-fui-focus-visible]::after{border-left-width:2px;}", ".ful5kiu[data-fui-focus-visible]::after{border-bottom-width:2px;}", ".f1jqcqds[data-fui-focus-visible]::after{border-bottom-right-radius:var(--borderRadiusMedium);}", ".ftffrms[data-fui-focus-visible]::after{border-bottom-left-radius:var(--borderRadiusMedium);}", ".f2e7qr6[data-fui-focus-visible]::after{border-top-right-radius:var(--borderRadiusMedium);}", ".fsr1zz6[data-fui-focus-visible]::after{border-top-left-radius:var(--borderRadiusMedium);}", ".f1dvezut[data-fui-focus-visible]::after{border-top-color:var(--colorStrokeFocus2);}", ".fd0oaoj[data-fui-focus-visible]::after{border-right-color:var(--colorStrokeFocus2);}", ".f1cwg4i8[data-fui-focus-visible]::after{border-left-color:var(--colorStrokeFocus2);}", ".fjvm52t[data-fui-focus-visible]::after{border-bottom-color:var(--colorStrokeFocus2);}", ".fdiulkx[data-fui-focus-visible]::after{top:-2px;}", ".f1yalx80[data-fui-focus-visible]::after{bottom:-2px;}", ".fq22d5a[data-fui-focus-visible]::after{left:-2px;}", ".f1jw7pan[data-fui-focus-visible]::after{right:-2px;}", ".f1aa9q02{border-bottom-right-radius:var(--borderRadiusMedium);}", ".f16jpd5f{border-bottom-left-radius:var(--borderRadiusMedium);}", ".f1jar5jt{border-top-right-radius:var(--borderRadiusMedium);}", ".fyu767a{border-top-left-radius:var(--borderRadiusMedium);}", ".f10pi13n{position:relative;}", ".fkfq4zb{color:var(--colorNeutralForeground2);}", ".fxugw4r{background-color:var(--colorNeutralBackground1);}", ".f81rol6{padding-right:10px;}", ".frdkuqy{padding-left:10px;}", ".f1d2rq10{height:32px;}", ".f22iagw{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}", ".f122n59{-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}", ".fkhj508{font-size:var(--fontSizeBase300);}", ".f1k6fduh{cursor:pointer;}", ".f1q8lukm{-webkit-column-gap:4px;column-gap:4px;}", ".f1ma2n7n{row-gap:4px;}", ".f1xqy1su{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;}", ".f161knb0{padding-left:2px;}", ".f12huiiw{padding-right:2px;}", ".f3rmtva{background-color:transparent;}", ".fqerorx{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;}", ".f11d4kpn{color:var(--colorNeutralForeground3);}", ".f64fuq3{width:20px;}", ".fjamq6b{height:20px;}", ".fe5j1ua{font-size:20px;}", ".fez10in{line-height:0;}", ".ftuwxu6{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;}", ".f4d9j23{-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;}", ".f1s2aq7o{color:var(--colorNeutralForegroundDisabled);}"],
|
|
118
|
+
h: [".f1knas48:hover{background-color:var(--colorNeutralBackground1Hover);}", ".fnwyq0v:hover{color:var(--colorNeutralForeground2Hover);}", ".ft1hn21:hover .fui-Icon-filled{display:inline;}", ".fuxngvv:hover .fui-Icon-regular{display:none;}", ".fp258yr:hover .fui-MenuItem__icon{color:var(--colorNeutralForeground2BrandSelected);}", ".f1jp5ecu:hover{color:var(--colorNeutralForeground3Hover);}", ".fvgxktp:hover{color:var(--colorNeutralForegroundDisabled);}", ".f19vpps7:hover .fui-Icon-filled{display:none;}", ".fv5swzo:hover .fui-Icon-regular{display:inline;}", ".f1q1x1ba:hover .fui-MenuItem__icon{color:var(--colorNeutralForegroundDisabled);}"],
|
|
119
|
+
m: [["@media (forced-colors: active){.f1dcs8yz{color:GrayText;}}", {
|
|
120
|
+
m: "(forced-colors: active)"
|
|
121
|
+
}], ["@media (forced-colors: active){.f1kc2mi9:hover{color:GrayText;}}", {
|
|
122
|
+
m: "(forced-colors: active)"
|
|
123
|
+
}], ["@media (forced-colors: active){.fk56vqo:hover .fui-MenuItem__icon{color:GrayText;}}", {
|
|
124
|
+
m: "(forced-colors: active)"
|
|
125
|
+
}], ["@media (forced-colors: active){.f1ikwg0d:focus{color:GrayText;}}", {
|
|
126
|
+
m: "(forced-colors: active)"
|
|
127
|
+
}]]
|
|
128
|
+
});
|
|
129
|
+
/** Applies style classnames to slots */
|
|
130
|
+
export const useMenuItemStyles_unstable = state => {
|
|
131
|
+
const styles = useStyles();
|
|
132
|
+
state.root.className = mergeClasses(menuItemClassNames.root, styles.root, styles.focusIndicator, state.disabled && styles.disabled, state.root.className);
|
|
133
|
+
if (state.content) {
|
|
134
|
+
state.content.className = mergeClasses(menuItemClassNames.content, styles.content, state.content.className);
|
|
135
|
+
}
|
|
136
|
+
if (state.checkmark) {
|
|
137
|
+
state.checkmark.className = mergeClasses(menuItemClassNames.checkmark, state.checkmark.className);
|
|
138
|
+
}
|
|
139
|
+
if (state.secondaryContent) {
|
|
140
|
+
state.secondaryContent.className = mergeClasses(menuItemClassNames.secondaryContent, !state.disabled && styles.secondaryContent, state.secondaryContent.className);
|
|
141
|
+
}
|
|
142
|
+
if (state.icon) {
|
|
143
|
+
state.icon.className = mergeClasses(menuItemClassNames.icon, styles.icon, state.icon.className);
|
|
144
|
+
}
|
|
145
|
+
if (state.submenuIndicator) {
|
|
146
|
+
state.submenuIndicator.className = mergeClasses(menuItemClassNames.submenuIndicator, styles.submenuIndicator, state.submenuIndicator.className);
|
|
147
|
+
}
|
|
148
|
+
useCheckmarkStyles_unstable(state);
|
|
149
|
+
};
|
|
150
|
+
//# sourceMappingURL=useMenuItemStyles.styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["mergeClasses","__styles","shorthands","iconFilledClassName","iconRegularClassName","createFocusOutlineStyle","tokens","useCheckmarkStyles_unstable","menuItemClassNames","root","icon","checkmark","submenuIndicator","content","secondaryContent","useStyles","focusIndicator","Brovlpu","B486eqv","B8q5s1w","Bci5o5g","n8qw10","Bdrgwmp","Bm4h7ae","B7ys5i9","Busjfv9","Bhk32uz","Bf4ptjt","kclons","Bhdgwq3","Blkhhs4","Bqtpl0w","clg4pj","hgwjuy","Bonggc9","B1tsrr9","Dah5zi","Bkh64rk","qqdqy8","B6dhp37","i03rao","Boxcth7","Bsom6fd","J0r882","Bjwuhne","Ghsupd","Bule8hv","Bbmb7ep","Beyfa6y","B7oj6ja","Btl43ni","qhf8xq","sj55zd","De3pzq","z189sj","uwmqm3","Bqenvij","mc9l5x","Bt984gj","Be2twd7","Bceei9c","i8kkvl","Belr9w4","Jwef8y","Bi91k9c","Bk3fhr4","Bmfj8id","Bg7n49j","famaaq","Bh6795r","t0hwav","a9b677","Bg96gwp","Brf1p80","disabled","Bbusuzp","ze5xyy","Bctn1xl","Bh6z0a4","f","i","d","h","m","useMenuItemStyles_unstable","state","styles","className"],"sources":["../../../src/components/MenuItem/useMenuItemStyles.styles.ts"],"sourcesContent":["import { mergeClasses, makeStyles, shorthands } from '@griffel/react';\nimport { iconFilledClassName, iconRegularClassName } from '@fluentui/react-icons';\nimport { createFocusOutlineStyle } from '@fluentui/react-tabster';\nimport { tokens } from '@fluentui/react-theme';\nimport { useCheckmarkStyles_unstable } from '../../selectable/index';\nimport type { MenuItemCheckboxState } from '../MenuItemCheckbox/index';\nimport type { MenuItemSlots, MenuItemState } from './MenuItem.types';\nimport type { SlotClassNames } from '@fluentui/react-utilities';\n\nexport const menuItemClassNames: SlotClassNames<MenuItemSlots> = {\n root: 'fui-MenuItem',\n icon: 'fui-MenuItem__icon',\n checkmark: 'fui-MenuItem__checkmark',\n submenuIndicator: 'fui-MenuItem__submenuIndicator',\n content: 'fui-MenuItem__content',\n secondaryContent: 'fui-MenuItem__secondaryContent',\n};\n\nconst useStyles = makeStyles({\n focusIndicator: createFocusOutlineStyle(),\n // TODO: this should be extracted to another package\n root: {\n ...shorthands.borderRadius(tokens.borderRadiusMedium),\n position: 'relative',\n color: tokens.colorNeutralForeground2,\n backgroundColor: tokens.colorNeutralBackground1,\n paddingRight: '10px',\n paddingLeft: '10px',\n height: '32px',\n display: 'flex',\n alignItems: 'center',\n fontSize: tokens.fontSizeBase300,\n cursor: 'pointer',\n ...shorthands.gap('4px'),\n\n ':hover': {\n backgroundColor: tokens.colorNeutralBackground1Hover,\n color: tokens.colorNeutralForeground2Hover,\n\n [`& .${iconFilledClassName}`]: {\n display: 'inline',\n },\n [`& .${iconRegularClassName}`]: {\n display: 'none',\n },\n [`& .${menuItemClassNames.icon}`]: {\n color: tokens.colorNeutralForeground2BrandSelected,\n },\n },\n\n userSelect: 'none',\n },\n content: {\n paddingLeft: '2px',\n paddingRight: '2px',\n backgroundColor: 'transparent',\n flexGrow: 1,\n },\n secondaryContent: {\n paddingLeft: '2px',\n paddingRight: '2px',\n color: tokens.colorNeutralForeground3,\n ':hover': {\n color: tokens.colorNeutralForeground3Hover,\n },\n ':focus': {\n color: tokens.colorNeutralForeground3Hover,\n },\n },\n icon: {\n width: '20px',\n height: '20px',\n fontSize: '20px',\n lineHeight: 0,\n alignItems: 'center',\n display: 'inline-flex',\n justifyContent: 'center',\n },\n submenuIndicator: {\n width: '20px',\n height: '20px',\n fontSize: '20px',\n lineHeight: 0,\n alignItems: 'center',\n display: 'inline-flex',\n justifyContent: 'center',\n },\n disabled: {\n color: tokens.colorNeutralForegroundDisabled,\n ':hover': {\n color: tokens.colorNeutralForegroundDisabled,\n [`& .${iconFilledClassName}`]: {\n display: 'none',\n },\n [`& .${iconRegularClassName}`]: {\n display: 'inline',\n },\n [`& .${menuItemClassNames.icon}`]: {\n color: tokens.colorNeutralForegroundDisabled,\n },\n },\n\n ':focus': {\n color: tokens.colorNeutralForegroundDisabled,\n },\n\n '@media (forced-colors: active)': {\n color: 'GrayText',\n ':hover': {\n color: 'GrayText',\n [`& .${menuItemClassNames.icon}`]: {\n color: 'GrayText',\n },\n },\n ':focus': {\n color: 'GrayText',\n },\n },\n },\n});\n\n/** Applies style classnames to slots */\nexport const useMenuItemStyles_unstable = (state: MenuItemState) => {\n const styles = useStyles();\n state.root.className = mergeClasses(\n menuItemClassNames.root,\n styles.root,\n styles.focusIndicator,\n state.disabled && styles.disabled,\n state.root.className,\n );\n\n if (state.content) {\n state.content.className = mergeClasses(menuItemClassNames.content, styles.content, state.content.className);\n }\n\n if (state.checkmark) {\n state.checkmark.className = mergeClasses(menuItemClassNames.checkmark, state.checkmark.className);\n }\n\n if (state.secondaryContent) {\n state.secondaryContent.className = mergeClasses(\n menuItemClassNames.secondaryContent,\n !state.disabled && styles.secondaryContent,\n state.secondaryContent.className,\n );\n }\n\n if (state.icon) {\n state.icon.className = mergeClasses(menuItemClassNames.icon, styles.icon, state.icon.className);\n }\n\n if (state.submenuIndicator) {\n state.submenuIndicator.className = mergeClasses(\n menuItemClassNames.submenuIndicator,\n styles.submenuIndicator,\n state.submenuIndicator.className,\n );\n }\n useCheckmarkStyles_unstable(state as MenuItemCheckboxState);\n};\n"],"mappings":"AAAA,SAASA,YAAY,EAAAC,QAAA,EAAcC,UAAU,QAAQ;AACrD,SAASC,mBAAmB,EAAEC,oBAAoB,QAAQ;AAC1D,SAASC,uBAAuB,QAAQ;AACxC,SAASC,MAAM,QAAQ;AACvB,SAASC,2BAA2B,QAAQ;AAK5C,OAAO,MAAMC,kBAAA,GAAoD;EAC/DC,IAAA,EAAM;EACNC,IAAA,EAAM;EACNC,SAAA,EAAW;EACXC,gBAAA,EAAkB;EAClBC,OAAA,EAAS;EACTC,gBAAA,EAAkB;AACpB;AAEA,MAAMC,SAAA,gBAAYd,QAAA;EAAAe,cAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,OAAA;EAAA;EAAArC,IAAA;IAAAsC,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,MAAA;IAAAC,MAAA;IAAAC,MAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,MAAA;EAAA;EAAAvD,OAAA;IAAA0C,MAAA;IAAAD,MAAA;IAAAD,MAAA;IAAAgB,OAAA;EAAA;EAAAvD,gBAAA;IAAAyC,MAAA;IAAAD,MAAA;IAAAF,MAAA;IAAAY,OAAA;IAAAM,MAAA;EAAA;EAAA5D,IAAA;IAAA6D,MAAA;IAAAf,OAAA;IAAAG,OAAA;IAAAa,OAAA;IAAAd,OAAA;IAAAD,MAAA;IAAAgB,OAAA;EAAA;EAAA7D,gBAAA;IAAA2D,MAAA;IAAAf,OAAA;IAAAG,OAAA;IAAAa,OAAA;IAAAd,OAAA;IAAAD,MAAA;IAAAgB,OAAA;EAAA;EAAAC,QAAA;IAAAtB,MAAA;IAAAY,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAG,MAAA;IAAAK,OAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,OAAA;EAAA;AAAA;EAAAC,CAAA;EAAAC,CAAA;EAAAC,CAAA;EAAAC,CAAA;EAAAC,CAAA;IAAAA,CAAA;EAAA;IAAAA,CAAA;EAAA;IAAAA,CAAA;EAAA;IAAAA,CAAA;EAAA;AAAA,EAqGlB;AAEA;AACA,OAAO,MAAMC,0BAAA,GAA8BC,KAAA,IAAyB;EAClE,MAAMC,MAAA,GAASvE,SAAA;EACfsE,KAAA,CAAM5E,IAAI,CAAC8E,SAAS,GAAGvF,YAAA,CACrBQ,kBAAA,CAAmBC,IAAI,EACvB6E,MAAA,CAAO7E,IAAI,EACX6E,MAAA,CAAOtE,cAAc,EACrBqE,KAAA,CAAMX,QAAQ,IAAIY,MAAA,CAAOZ,QAAQ,EACjCW,KAAA,CAAM5E,IAAI,CAAC8E,SAAS;EAGtB,IAAIF,KAAA,CAAMxE,OAAO,EAAE;IACjBwE,KAAA,CAAMxE,OAAO,CAAC0E,SAAS,GAAGvF,YAAA,CAAaQ,kBAAA,CAAmBK,OAAO,EAAEyE,MAAA,CAAOzE,OAAO,EAAEwE,KAAA,CAAMxE,OAAO,CAAC0E,SAAS;EAC5G;EAEA,IAAIF,KAAA,CAAM1E,SAAS,EAAE;IACnB0E,KAAA,CAAM1E,SAAS,CAAC4E,SAAS,GAAGvF,YAAA,CAAaQ,kBAAA,CAAmBG,SAAS,EAAE0E,KAAA,CAAM1E,SAAS,CAAC4E,SAAS;EAClG;EAEA,IAAIF,KAAA,CAAMvE,gBAAgB,EAAE;IAC1BuE,KAAA,CAAMvE,gBAAgB,CAACyE,SAAS,GAAGvF,YAAA,CACjCQ,kBAAA,CAAmBM,gBAAgB,EACnC,CAACuE,KAAA,CAAMX,QAAQ,IAAIY,MAAA,CAAOxE,gBAAgB,EAC1CuE,KAAA,CAAMvE,gBAAgB,CAACyE,SAAS;EAEpC;EAEA,IAAIF,KAAA,CAAM3E,IAAI,EAAE;IACd2E,KAAA,CAAM3E,IAAI,CAAC6E,SAAS,GAAGvF,YAAA,CAAaQ,kBAAA,CAAmBE,IAAI,EAAE4E,MAAA,CAAO5E,IAAI,EAAE2E,KAAA,CAAM3E,IAAI,CAAC6E,SAAS;EAChG;EAEA,IAAIF,KAAA,CAAMzE,gBAAgB,EAAE;IAC1ByE,KAAA,CAAMzE,gBAAgB,CAAC2E,SAAS,GAAGvF,YAAA,CACjCQ,kBAAA,CAAmBI,gBAAgB,EACnC0E,MAAA,CAAO1E,gBAAgB,EACvByE,KAAA,CAAMzE,gBAAgB,CAAC2E,SAAS;EAEpC;EACAhF,2BAAA,CAA4B8E,KAAA;AAC9B"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { useMenuItemCheckbox_unstable } from './useMenuItemCheckbox';
|
|
3
|
+
import { renderMenuItemCheckbox_unstable } from './renderMenuItemCheckbox';
|
|
4
|
+
import { useMenuItemCheckboxStyles_unstable } from './useMenuItemCheckboxStyles.styles';
|
|
5
|
+
import { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';
|
|
6
|
+
/**
|
|
7
|
+
* Define a styled MenuItemCheckbox, using the `useMenuItemCheckbox_unstable` hook.
|
|
8
|
+
*/
|
|
9
|
+
export const MenuItemCheckbox = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
10
|
+
const state = useMenuItemCheckbox_unstable(props, ref);
|
|
11
|
+
useMenuItemCheckboxStyles_unstable(state);
|
|
12
|
+
useCustomStyleHook_unstable('useMenuItemCheckboxStyles_unstable')(state);
|
|
13
|
+
return renderMenuItemCheckbox_unstable(state);
|
|
14
|
+
});
|
|
15
|
+
MenuItemCheckbox.displayName = 'MenuItemCheckbox';
|
|
16
|
+
//# sourceMappingURL=MenuItemCheckbox.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","useMenuItemCheckbox_unstable","renderMenuItemCheckbox_unstable","useMenuItemCheckboxStyles_unstable","useCustomStyleHook_unstable","MenuItemCheckbox","forwardRef","props","ref","state","displayName"],"sources":["../../../src/components/MenuItemCheckbox/MenuItemCheckbox.tsx"],"sourcesContent":["import * as React from 'react';\nimport { useMenuItemCheckbox_unstable } from './useMenuItemCheckbox';\nimport { renderMenuItemCheckbox_unstable } from './renderMenuItemCheckbox';\nimport { useMenuItemCheckboxStyles_unstable } from './useMenuItemCheckboxStyles.styles';\nimport type { MenuItemCheckboxProps } from './MenuItemCheckbox.types';\nimport type { ForwardRefComponent } from '@fluentui/react-utilities';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n\n/**\n * Define a styled MenuItemCheckbox, using the `useMenuItemCheckbox_unstable` hook.\n */\nexport const MenuItemCheckbox: ForwardRefComponent<MenuItemCheckboxProps> = React.forwardRef((props, ref) => {\n const state = useMenuItemCheckbox_unstable(props, ref);\n\n useMenuItemCheckboxStyles_unstable(state);\n\n useCustomStyleHook_unstable('useMenuItemCheckboxStyles_unstable')(state);\n\n return renderMenuItemCheckbox_unstable(state);\n});\n\nMenuItemCheckbox.displayName = 'MenuItemCheckbox';\n"],"mappings":"AAAA,YAAYA,KAAA,MAAW;AACvB,SAASC,4BAA4B,QAAQ;AAC7C,SAASC,+BAA+B,QAAQ;AAChD,SAASC,kCAAkC,QAAQ;AAGnD,SAASC,2BAA2B,QAAQ;AAE5C;;;AAGA,OAAO,MAAMC,gBAAA,gBAA+DL,KAAA,CAAMM,UAAU,CAAC,CAACC,KAAA,EAAOC,GAAA,KAAQ;EAC3G,MAAMC,KAAA,GAAQR,4BAAA,CAA6BM,KAAA,EAAOC,GAAA;EAElDL,kCAAA,CAAmCM,KAAA;EAEnCL,2BAAA,CAA4B,sCAAsCK,KAAA;EAElE,OAAOP,+BAAA,CAAgCO,KAAA;AACzC;AAEAJ,gBAAA,CAAiBK,WAAW,GAAG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["../../../src/components/MenuItemCheckbox/MenuItemCheckbox.types.ts"],"sourcesContent":["import type { MenuItemSelectableProps, MenuItemSelectableState } from '../../selectable/index';\nimport type { MenuItemProps, MenuItemState } from '../MenuItem/MenuItem.types';\n\nexport type MenuItemCheckboxProps = MenuItemProps & MenuItemSelectableProps;\n\nexport type MenuItemCheckboxState = MenuItemState & MenuItemSelectableState;\n"],"mappings":"AAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["../../../src/components/MenuItemCheckbox/index.ts"],"sourcesContent":["export * from './MenuItemCheckbox.types';\nexport * from './MenuItemCheckbox';\nexport * from './renderMenuItemCheckbox';\nexport * from './useMenuItemCheckbox';\nexport * from './useMenuItemCheckboxStyles.styles';\n"],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/** @jsxRuntime classic */ /** @jsx createElement */import { createElement } from '@fluentui/react-jsx-runtime';
|
|
2
|
+
import { getSlotsNext } from '@fluentui/react-utilities';
|
|
3
|
+
/** Function that renders the final JSX of the component */
|
|
4
|
+
export const renderMenuItemCheckbox_unstable = state => {
|
|
5
|
+
const {
|
|
6
|
+
slots,
|
|
7
|
+
slotProps
|
|
8
|
+
} = getSlotsNext(state);
|
|
9
|
+
return /*#__PURE__*/createElement(slots.root, slotProps.root, slots.checkmark && /*#__PURE__*/createElement(slots.checkmark, slotProps.checkmark), slots.icon && /*#__PURE__*/createElement(slots.icon, slotProps.icon), slots.content && /*#__PURE__*/createElement(slots.content, slotProps.content), slots.secondaryContent && /*#__PURE__*/createElement(slots.secondaryContent, slotProps.secondaryContent));
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=renderMenuItemCheckbox.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createElement","getSlotsNext","renderMenuItemCheckbox_unstable","state","slots","slotProps","root","checkmark","icon","content","secondaryContent"],"sources":["../../../src/components/MenuItemCheckbox/renderMenuItemCheckbox.tsx"],"sourcesContent":["/** @jsxRuntime classic */\n/** @jsx createElement */\n\nimport { createElement } from '@fluentui/react-jsx-runtime';\nimport { getSlotsNext } from '@fluentui/react-utilities';\nimport type { MenuItemCheckboxState } from './MenuItemCheckbox.types';\nimport type { MenuItemSlots } from '../MenuItem/MenuItem.types';\n\n/** Function that renders the final JSX of the component */\nexport const renderMenuItemCheckbox_unstable = (state: MenuItemCheckboxState) => {\n const { slots, slotProps } = getSlotsNext<MenuItemSlots>(state);\n\n return (\n <slots.root {...slotProps.root}>\n {slots.checkmark && <slots.checkmark {...slotProps.checkmark} />}\n {slots.icon && <slots.icon {...slotProps.icon} />}\n {slots.content && <slots.content {...slotProps.content} />}\n {slots.secondaryContent && <slots.secondaryContent {...slotProps.secondaryContent} />}\n </slots.root>\n );\n};\n"],"mappings":"AAAA,2BACA,yBAEA,SAASA,aAAa,QAAQ;AAC9B,SAASC,YAAY,QAAQ;AAI7B;AACA,OAAO,MAAMC,+BAAA,GAAmCC,KAAA,IAAiC;EAC/E,MAAM;IAAEC,KAAA;IAAOC;EAAS,CAAE,GAAGJ,YAAA,CAA4BE,KAAA;EAEzD,oBACEH,aAZJ,CAYKI,KAAA,CAAME,IAAI,EAAKD,SAAA,CAAUC,IAAI,EAC3BF,KAAA,CAAMG,SAAS,iBAAIP,aAb1B,CAa2BI,KAAA,CAAMG,SAAS,EAAKF,SAAA,CAAUE,SAAS,GAC3DH,KAAA,CAAMI,IAAI,iBAAIR,aAdrB,CAcsBI,KAAA,CAAMI,IAAI,EAAKH,SAAA,CAAUG,IAAI,GAC5CJ,KAAA,CAAMK,OAAO,iBAAIT,aAfxB,CAeyBI,KAAA,CAAMK,OAAO,EAAKJ,SAAA,CAAUI,OAAO,GACrDL,KAAA,CAAMM,gBAAgB,iBAAIV,aAhBjC,CAgBkCI,KAAA,CAAMM,gBAAgB,EAAKL,SAAA,CAAUK,gBAAgB;AAGvF"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { resolveShorthand } from '@fluentui/react-utilities';
|
|
3
|
+
import { Checkmark16Filled } from '@fluentui/react-icons';
|
|
4
|
+
import { useMenuListContext_unstable } from '../../contexts/menuListContext';
|
|
5
|
+
import { useMenuItem_unstable } from '../MenuItem/useMenuItem';
|
|
6
|
+
/** Returns the props and state required to render the component */
|
|
7
|
+
export const useMenuItemCheckbox_unstable = (props, ref) => {
|
|
8
|
+
const toggleCheckbox = useMenuListContext_unstable(context => context.toggleCheckbox);
|
|
9
|
+
const {
|
|
10
|
+
name,
|
|
11
|
+
value
|
|
12
|
+
} = props;
|
|
13
|
+
const checked = useMenuListContext_unstable(context => {
|
|
14
|
+
var _context_checkedValues;
|
|
15
|
+
const checkedItems = ((_context_checkedValues = context.checkedValues) === null || _context_checkedValues === void 0 ? void 0 : _context_checkedValues[name]) || [];
|
|
16
|
+
return checkedItems.indexOf(value) !== -1;
|
|
17
|
+
});
|
|
18
|
+
const state = {
|
|
19
|
+
...useMenuItem_unstable({
|
|
20
|
+
role: 'menuitemcheckbox',
|
|
21
|
+
persistOnClick: true,
|
|
22
|
+
...props,
|
|
23
|
+
'aria-checked': checked,
|
|
24
|
+
checkmark: resolveShorthand(props.checkmark, {
|
|
25
|
+
defaultProps: {
|
|
26
|
+
children: /*#__PURE__*/React.createElement(Checkmark16Filled, null)
|
|
27
|
+
},
|
|
28
|
+
required: true
|
|
29
|
+
}),
|
|
30
|
+
onClick: e => {
|
|
31
|
+
var _props_onClick;
|
|
32
|
+
toggleCheckbox === null || toggleCheckbox === void 0 ? void 0 : toggleCheckbox(e, name, value, checked);
|
|
33
|
+
(_props_onClick = props.onClick) === null || _props_onClick === void 0 ? void 0 : _props_onClick.call(props, e);
|
|
34
|
+
}
|
|
35
|
+
}, ref),
|
|
36
|
+
name,
|
|
37
|
+
value,
|
|
38
|
+
checked
|
|
39
|
+
};
|
|
40
|
+
return state;
|
|
41
|
+
};
|
|
42
|
+
//# sourceMappingURL=useMenuItemCheckbox.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","resolveShorthand","Checkmark16Filled","useMenuListContext_unstable","useMenuItem_unstable","useMenuItemCheckbox_unstable","props","ref","toggleCheckbox","context","name","value","checked","_context_checkedValues","checkedItems","checkedValues","indexOf","state","role","persistOnClick","checkmark","defaultProps","children","createElement","required","onClick","e","_props_onClick","call"],"sources":["../../../src/components/MenuItemCheckbox/useMenuItemCheckbox.tsx"],"sourcesContent":["import * as React from 'react';\nimport { resolveShorthand } from '@fluentui/react-utilities';\nimport { Checkmark16Filled } from '@fluentui/react-icons';\nimport { useMenuListContext_unstable } from '../../contexts/menuListContext';\nimport { useMenuItem_unstable } from '../MenuItem/useMenuItem';\nimport type { MenuItemCheckboxProps, MenuItemCheckboxState } from './MenuItemCheckbox.types';\nimport type { ARIAButtonElement, ARIAButtonElementIntersection } from '@fluentui/react-aria';\n\n/** Returns the props and state required to render the component */\nexport const useMenuItemCheckbox_unstable = (\n props: MenuItemCheckboxProps,\n ref: React.Ref<ARIAButtonElement<'div'>>,\n): MenuItemCheckboxState => {\n const toggleCheckbox = useMenuListContext_unstable(context => context.toggleCheckbox);\n const { name, value } = props;\n\n const checked = useMenuListContext_unstable(context => {\n const checkedItems = context.checkedValues?.[name] || [];\n return checkedItems.indexOf(value) !== -1;\n });\n\n const state: MenuItemCheckboxState = {\n ...useMenuItem_unstable(\n {\n role: 'menuitemcheckbox',\n persistOnClick: true,\n ...props,\n 'aria-checked': checked,\n checkmark: resolveShorthand(props.checkmark, {\n defaultProps: { children: <Checkmark16Filled /> },\n required: true,\n }),\n onClick: (e: React.MouseEvent<ARIAButtonElementIntersection<'div'>>) => {\n toggleCheckbox?.(e, name, value, checked);\n props.onClick?.(e);\n },\n },\n ref,\n ),\n name,\n value,\n checked,\n };\n\n return state;\n};\n"],"mappings":"AAAA,YAAYA,KAAA,MAAW;AACvB,SAASC,gBAAgB,QAAQ;AACjC,SAASC,iBAAiB,QAAQ;AAClC,SAASC,2BAA2B,QAAQ;AAC5C,SAASC,oBAAoB,QAAQ;AAIrC;AACA,OAAO,MAAMC,4BAAA,GAA+BA,CAC1CC,KAAA,EACAC,GAAA,KAC0B;EAC1B,MAAMC,cAAA,GAAiBL,2BAAA,CAA4BM,OAAA,IAAWA,OAAA,CAAQD,cAAc;EACpF,MAAM;IAAEE,IAAA;IAAMC;EAAK,CAAE,GAAGL,KAAA;EAExB,MAAMM,OAAA,GAAUT,2BAAA,CAA4BM,OAAA,IAAW;QAChCI,sBAAA;IAArB,MAAMC,YAAA,GAAe,EAAAD,sBAAA,GAAAJ,OAAA,CAAQM,aAAa,cAArBF,sBAAA,uBAAAA,sBAAuB,CAACH,IAAA,CAAK,KAAI,EAAE;IACxD,OAAOI,YAAA,CAAaE,OAAO,CAACL,KAAA,MAAW,CAAC;EAC1C;EAEA,MAAMM,KAAA,GAA+B;IACnC,GAAGb,oBAAA,CACD;MACEc,IAAA,EAAM;MACNC,cAAA,EAAgB,IAAI;MACpB,GAAGb,KAAK;MACR,gBAAgBM,OAAA;MAChBQ,SAAA,EAAWnB,gBAAA,CAAiBK,KAAA,CAAMc,SAAS,EAAE;QAC3CC,YAAA,EAAc;UAAEC,QAAA,eAAUtB,KAAA,CAAAuB,aAAA,CAACrB,iBAAA;QAAqB;QAChDsB,QAAA,EAAU;MACZ;MACAC,OAAA,EAAUC,CAAA,IAA8D;YAEtEC,cAAA;QADAnB,cAAA,aAAAA,cAAA,uBAAAA,cAAA,CAAiBkB,CAAA,EAAGhB,IAAA,EAAMC,KAAA,EAAOC,OAAA;QACjC,CAAAe,cAAA,GAAArB,KAAA,CAAMmB,OAAO,cAAbE,cAAA,uBAAAA,cAAA,CAAAC,IAAA,CAAAtB,KAAA,EAAgBoB,CAAA;MAClB;IACF,GACAnB,GAAA,CACD;IACDG,IAAA;IACAC,KAAA;IACAC;EACF;EAEA,OAAOK,KAAA;AACT"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { mergeClasses } from '@griffel/react';
|
|
2
|
+
import { useCheckmarkStyles_unstable } from '../../selectable/index';
|
|
3
|
+
import { useMenuItemStyles_unstable } from '../MenuItem/useMenuItemStyles.styles';
|
|
4
|
+
export const menuItemCheckboxClassNames = {
|
|
5
|
+
root: 'fui-MenuItemCheckbox',
|
|
6
|
+
icon: 'fui-MenuItemCheckbox__icon',
|
|
7
|
+
checkmark: 'fui-MenuItemCheckbox__checkmark',
|
|
8
|
+
content: 'fui-MenuItemCheckbox__content',
|
|
9
|
+
secondaryContent: 'fui-MenuItemCheckbox__secondaryContent'
|
|
10
|
+
};
|
|
11
|
+
export const useMenuItemCheckboxStyles_unstable = state => {
|
|
12
|
+
state.root.className = mergeClasses(menuItemCheckboxClassNames.root, state.root.className);
|
|
13
|
+
if (state.content) {
|
|
14
|
+
state.content.className = mergeClasses(menuItemCheckboxClassNames.content, state.content.className);
|
|
15
|
+
}
|
|
16
|
+
if (state.secondaryContent) {
|
|
17
|
+
state.secondaryContent.className = mergeClasses(menuItemCheckboxClassNames.secondaryContent, state.secondaryContent.className);
|
|
18
|
+
}
|
|
19
|
+
if (state.icon) {
|
|
20
|
+
state.icon.className = mergeClasses(menuItemCheckboxClassNames.icon, state.icon.className);
|
|
21
|
+
}
|
|
22
|
+
if (state.checkmark) {
|
|
23
|
+
state.checkmark.className = mergeClasses(menuItemCheckboxClassNames.checkmark, state.checkmark.className);
|
|
24
|
+
}
|
|
25
|
+
useMenuItemStyles_unstable(state);
|
|
26
|
+
useCheckmarkStyles_unstable(state);
|
|
27
|
+
};
|
|
28
|
+
//# sourceMappingURL=useMenuItemCheckboxStyles.styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["mergeClasses","useCheckmarkStyles_unstable","useMenuItemStyles_unstable","menuItemCheckboxClassNames","root","icon","checkmark","content","secondaryContent","useMenuItemCheckboxStyles_unstable","state","className"],"sources":["../../../src/components/MenuItemCheckbox/useMenuItemCheckboxStyles.styles.ts"],"sourcesContent":["import { mergeClasses } from '@griffel/react';\nimport { useCheckmarkStyles_unstable } from '../../selectable/index';\nimport { useMenuItemStyles_unstable } from '../MenuItem/useMenuItemStyles.styles';\nimport type { SlotClassNames } from '@fluentui/react-utilities';\nimport type { MenuItemSlots } from '../index';\nimport type { MenuItemCheckboxState } from './MenuItemCheckbox.types';\n\nexport const menuItemCheckboxClassNames: SlotClassNames<Omit<MenuItemSlots, 'submenuIndicator'>> = {\n root: 'fui-MenuItemCheckbox',\n icon: 'fui-MenuItemCheckbox__icon',\n checkmark: 'fui-MenuItemCheckbox__checkmark',\n content: 'fui-MenuItemCheckbox__content',\n secondaryContent: 'fui-MenuItemCheckbox__secondaryContent',\n};\n\nexport const useMenuItemCheckboxStyles_unstable = (state: MenuItemCheckboxState) => {\n state.root.className = mergeClasses(menuItemCheckboxClassNames.root, state.root.className);\n\n if (state.content) {\n state.content.className = mergeClasses(menuItemCheckboxClassNames.content, state.content.className);\n }\n\n if (state.secondaryContent) {\n state.secondaryContent.className = mergeClasses(\n menuItemCheckboxClassNames.secondaryContent,\n state.secondaryContent.className,\n );\n }\n\n if (state.icon) {\n state.icon.className = mergeClasses(menuItemCheckboxClassNames.icon, state.icon.className);\n }\n\n if (state.checkmark) {\n state.checkmark.className = mergeClasses(menuItemCheckboxClassNames.checkmark, state.checkmark.className);\n }\n\n useMenuItemStyles_unstable(state);\n useCheckmarkStyles_unstable(state);\n};\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ;AAC7B,SAASC,2BAA2B,QAAQ;AAC5C,SAASC,0BAA0B,QAAQ;AAK3C,OAAO,MAAMC,0BAAA,GAAsF;EACjGC,IAAA,EAAM;EACNC,IAAA,EAAM;EACNC,SAAA,EAAW;EACXC,OAAA,EAAS;EACTC,gBAAA,EAAkB;AACpB;AAEA,OAAO,MAAMC,kCAAA,GAAsCC,KAAA,IAAiC;EAClFA,KAAA,CAAMN,IAAI,CAACO,SAAS,GAAGX,YAAA,CAAaG,0BAAA,CAA2BC,IAAI,EAAEM,KAAA,CAAMN,IAAI,CAACO,SAAS;EAEzF,IAAID,KAAA,CAAMH,OAAO,EAAE;IACjBG,KAAA,CAAMH,OAAO,CAACI,SAAS,GAAGX,YAAA,CAAaG,0BAAA,CAA2BI,OAAO,EAAEG,KAAA,CAAMH,OAAO,CAACI,SAAS;EACpG;EAEA,IAAID,KAAA,CAAMF,gBAAgB,EAAE;IAC1BE,KAAA,CAAMF,gBAAgB,CAACG,SAAS,GAAGX,YAAA,CACjCG,0BAAA,CAA2BK,gBAAgB,EAC3CE,KAAA,CAAMF,gBAAgB,CAACG,SAAS;EAEpC;EAEA,IAAID,KAAA,CAAML,IAAI,EAAE;IACdK,KAAA,CAAML,IAAI,CAACM,SAAS,GAAGX,YAAA,CAAaG,0BAAA,CAA2BE,IAAI,EAAEK,KAAA,CAAML,IAAI,CAACM,SAAS;EAC3F;EAEA,IAAID,KAAA,CAAMJ,SAAS,EAAE;IACnBI,KAAA,CAAMJ,SAAS,CAACK,SAAS,GAAGX,YAAA,CAAaG,0BAAA,CAA2BG,SAAS,EAAEI,KAAA,CAAMJ,SAAS,CAACK,SAAS;EAC1G;EAEAT,0BAAA,CAA2BQ,KAAA;EAC3BT,2BAAA,CAA4BS,KAAA;AAC9B"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { useMenuItemRadio_unstable } from './useMenuItemRadio';
|
|
3
|
+
import { renderMenuItemRadio_unstable } from './renderMenuItemRadio';
|
|
4
|
+
import { useMenuItemRadioStyles_unstable } from './useMenuItemRadioStyles.styles';
|
|
5
|
+
import { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';
|
|
6
|
+
/**
|
|
7
|
+
* Define a styled MenuItemRadio, using the `useMenuItemRadio_unstable` hook.
|
|
8
|
+
*/
|
|
9
|
+
export const MenuItemRadio = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
10
|
+
const state = useMenuItemRadio_unstable(props, ref);
|
|
11
|
+
useMenuItemRadioStyles_unstable(state);
|
|
12
|
+
useCustomStyleHook_unstable('useMenuItemRadioStyles_unstable')(state);
|
|
13
|
+
return renderMenuItemRadio_unstable(state);
|
|
14
|
+
});
|
|
15
|
+
MenuItemRadio.displayName = 'MenuItemRadio';
|
|
16
|
+
//# sourceMappingURL=MenuItemRadio.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","useMenuItemRadio_unstable","renderMenuItemRadio_unstable","useMenuItemRadioStyles_unstable","useCustomStyleHook_unstable","MenuItemRadio","forwardRef","props","ref","state","displayName"],"sources":["../../../src/components/MenuItemRadio/MenuItemRadio.tsx"],"sourcesContent":["import * as React from 'react';\nimport { useMenuItemRadio_unstable } from './useMenuItemRadio';\nimport { renderMenuItemRadio_unstable } from './renderMenuItemRadio';\nimport { useMenuItemRadioStyles_unstable } from './useMenuItemRadioStyles.styles';\nimport type { MenuItemRadioProps } from './MenuItemRadio.types';\nimport type { ForwardRefComponent } from '@fluentui/react-utilities';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n\n/**\n * Define a styled MenuItemRadio, using the `useMenuItemRadio_unstable` hook.\n */\nexport const MenuItemRadio: ForwardRefComponent<MenuItemRadioProps> = React.forwardRef((props, ref) => {\n const state = useMenuItemRadio_unstable(props, ref);\n\n useMenuItemRadioStyles_unstable(state);\n\n useCustomStyleHook_unstable('useMenuItemRadioStyles_unstable')(state);\n\n return renderMenuItemRadio_unstable(state);\n});\n\nMenuItemRadio.displayName = 'MenuItemRadio';\n"],"mappings":"AAAA,YAAYA,KAAA,MAAW;AACvB,SAASC,yBAAyB,QAAQ;AAC1C,SAASC,4BAA4B,QAAQ;AAC7C,SAASC,+BAA+B,QAAQ;AAGhD,SAASC,2BAA2B,QAAQ;AAE5C;;;AAGA,OAAO,MAAMC,aAAA,gBAAyDL,KAAA,CAAMM,UAAU,CAAC,CAACC,KAAA,EAAOC,GAAA,KAAQ;EACrG,MAAMC,KAAA,GAAQR,yBAAA,CAA0BM,KAAA,EAAOC,GAAA;EAE/CL,+BAAA,CAAgCM,KAAA;EAEhCL,2BAAA,CAA4B,mCAAmCK,KAAA;EAE/D,OAAOP,4BAAA,CAA6BO,KAAA;AACtC;AAEAJ,aAAA,CAAcK,WAAW,GAAG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["../../../src/components/MenuItemRadio/MenuItemRadio.types.ts"],"sourcesContent":["import type { MenuItemSelectableProps, MenuItemSelectableState } from '../../selectable/index';\nimport type { MenuItemProps, MenuItemState } from '../MenuItem/MenuItem.types';\n\nexport type MenuItemRadioProps = MenuItemProps & MenuItemSelectableProps;\n\nexport type MenuItemRadioState = MenuItemState & MenuItemSelectableState;\n"],"mappings":"AAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["../../../src/components/MenuItemRadio/index.ts"],"sourcesContent":["export * from './MenuItemRadio.types';\nexport * from './MenuItemRadio';\nexport * from './renderMenuItemRadio';\nexport * from './useMenuItemRadio';\nexport * from './useMenuItemRadioStyles.styles';\n"],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/** @jsxRuntime classic */ /** @jsx createElement */import { createElement } from '@fluentui/react-jsx-runtime';
|
|
2
|
+
import { getSlotsNext } from '@fluentui/react-utilities';
|
|
3
|
+
/**
|
|
4
|
+
* Redefine the render function to add slots. Reuse the menuitemradio structure but add
|
|
5
|
+
* slots to children.
|
|
6
|
+
*/
|
|
7
|
+
export const renderMenuItemRadio_unstable = state => {
|
|
8
|
+
const {
|
|
9
|
+
slots,
|
|
10
|
+
slotProps
|
|
11
|
+
} = getSlotsNext(state);
|
|
12
|
+
return /*#__PURE__*/createElement(slots.root, slotProps.root, slots.checkmark && /*#__PURE__*/createElement(slots.checkmark, slotProps.checkmark), slots.icon && /*#__PURE__*/createElement(slots.icon, slotProps.icon), slots.content && /*#__PURE__*/createElement(slots.content, slotProps.content), slots.secondaryContent && /*#__PURE__*/createElement(slots.secondaryContent, slotProps.secondaryContent));
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=renderMenuItemRadio.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createElement","getSlotsNext","renderMenuItemRadio_unstable","state","slots","slotProps","root","checkmark","icon","content","secondaryContent"],"sources":["../../../src/components/MenuItemRadio/renderMenuItemRadio.tsx"],"sourcesContent":["/** @jsxRuntime classic */\n/** @jsx createElement */\n\nimport { createElement } from '@fluentui/react-jsx-runtime';\nimport { getSlotsNext } from '@fluentui/react-utilities';\nimport type { MenuItemRadioState } from './MenuItemRadio.types';\nimport type { MenuItemSlots } from '../MenuItem/MenuItem.types';\n\n/**\n * Redefine the render function to add slots. Reuse the menuitemradio structure but add\n * slots to children.\n */\nexport const renderMenuItemRadio_unstable = (state: MenuItemRadioState) => {\n const { slots, slotProps } = getSlotsNext<MenuItemSlots>(state);\n\n return (\n <slots.root {...slotProps.root}>\n {slots.checkmark && <slots.checkmark {...slotProps.checkmark} />}\n {slots.icon && <slots.icon {...slotProps.icon} />}\n {slots.content && <slots.content {...slotProps.content} />}\n {slots.secondaryContent && <slots.secondaryContent {...slotProps.secondaryContent} />}\n </slots.root>\n );\n};\n"],"mappings":"AAAA,2BACA,yBAEA,SAASA,aAAa,QAAQ;AAC9B,SAASC,YAAY,QAAQ;AAI7B;;;;AAIA,OAAO,MAAMC,4BAAA,GAAgCC,KAAA,IAA8B;EACzE,MAAM;IAAEC,KAAA;IAAOC;EAAS,CAAE,GAAGJ,YAAA,CAA4BE,KAAA;EAEzD,oBACEH,aAfJ,CAeKI,KAAA,CAAME,IAAI,EAAKD,SAAA,CAAUC,IAAI,EAC3BF,KAAA,CAAMG,SAAS,iBAAIP,aAhB1B,CAgB2BI,KAAA,CAAMG,SAAS,EAAKF,SAAA,CAAUE,SAAS,GAC3DH,KAAA,CAAMI,IAAI,iBAAIR,aAjBrB,CAiBsBI,KAAA,CAAMI,IAAI,EAAKH,SAAA,CAAUG,IAAI,GAC5CJ,KAAA,CAAMK,OAAO,iBAAIT,aAlBxB,CAkByBI,KAAA,CAAMK,OAAO,EAAKJ,SAAA,CAAUI,OAAO,GACrDL,KAAA,CAAMM,gBAAgB,iBAAIV,aAnBjC,CAmBkCI,KAAA,CAAMM,gBAAgB,EAAKL,SAAA,CAAUK,gBAAgB;AAGvF"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { resolveShorthand } from '@fluentui/react-utilities';
|
|
3
|
+
import { Checkmark16Filled } from '@fluentui/react-icons';
|
|
4
|
+
import { useMenuListContext_unstable } from '../../contexts/menuListContext';
|
|
5
|
+
import { useMenuItem_unstable } from '../MenuItem/useMenuItem';
|
|
6
|
+
/**
|
|
7
|
+
* Given user props, returns state and render function for a MenuItemRadio.
|
|
8
|
+
*/
|
|
9
|
+
export const useMenuItemRadio_unstable = (props, ref) => {
|
|
10
|
+
const {
|
|
11
|
+
name,
|
|
12
|
+
value
|
|
13
|
+
} = props;
|
|
14
|
+
const checked = useMenuListContext_unstable(context => {
|
|
15
|
+
var _context_checkedValues;
|
|
16
|
+
const checkedItems = ((_context_checkedValues = context.checkedValues) === null || _context_checkedValues === void 0 ? void 0 : _context_checkedValues[name]) || [];
|
|
17
|
+
return checkedItems.indexOf(value) !== -1;
|
|
18
|
+
});
|
|
19
|
+
const selectRadio = useMenuListContext_unstable(context => context.selectRadio);
|
|
20
|
+
return {
|
|
21
|
+
...useMenuItem_unstable({
|
|
22
|
+
...props,
|
|
23
|
+
role: 'menuitemradio',
|
|
24
|
+
'aria-checked': checked,
|
|
25
|
+
checkmark: resolveShorthand(props.checkmark, {
|
|
26
|
+
defaultProps: {
|
|
27
|
+
children: /*#__PURE__*/React.createElement(Checkmark16Filled, null)
|
|
28
|
+
},
|
|
29
|
+
required: true
|
|
30
|
+
}),
|
|
31
|
+
onClick: e => {
|
|
32
|
+
var _props_onClick;
|
|
33
|
+
selectRadio === null || selectRadio === void 0 ? void 0 : selectRadio(e, name, value, checked);
|
|
34
|
+
(_props_onClick = props.onClick) === null || _props_onClick === void 0 ? void 0 : _props_onClick.call(props, e);
|
|
35
|
+
}
|
|
36
|
+
}, ref),
|
|
37
|
+
checked,
|
|
38
|
+
name,
|
|
39
|
+
value
|
|
40
|
+
};
|
|
41
|
+
};
|
|
42
|
+
//# sourceMappingURL=useMenuItemRadio.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","resolveShorthand","Checkmark16Filled","useMenuListContext_unstable","useMenuItem_unstable","useMenuItemRadio_unstable","props","ref","name","value","checked","context","_context_checkedValues","checkedItems","checkedValues","indexOf","selectRadio","role","checkmark","defaultProps","children","createElement","required","onClick","e","_props_onClick","call"],"sources":["../../../src/components/MenuItemRadio/useMenuItemRadio.tsx"],"sourcesContent":["import * as React from 'react';\nimport { resolveShorthand } from '@fluentui/react-utilities';\nimport { Checkmark16Filled } from '@fluentui/react-icons';\nimport { useMenuListContext_unstable } from '../../contexts/menuListContext';\nimport { useMenuItem_unstable } from '../MenuItem/useMenuItem';\nimport type { MenuItemRadioProps, MenuItemRadioState } from './MenuItemRadio.types';\nimport type { ARIAButtonElement, ARIAButtonElementIntersection } from '@fluentui/react-aria';\n\n/**\n * Given user props, returns state and render function for a MenuItemRadio.\n */\nexport const useMenuItemRadio_unstable = (\n props: MenuItemRadioProps,\n ref: React.Ref<ARIAButtonElement<'div'>>,\n): MenuItemRadioState => {\n const { name, value } = props;\n\n const checked = useMenuListContext_unstable(context => {\n const checkedItems = context.checkedValues?.[name] || [];\n return checkedItems.indexOf(value) !== -1;\n });\n\n const selectRadio = useMenuListContext_unstable(context => context.selectRadio);\n\n return {\n ...useMenuItem_unstable(\n {\n ...props,\n role: 'menuitemradio',\n 'aria-checked': checked,\n checkmark: resolveShorthand(props.checkmark, {\n defaultProps: { children: <Checkmark16Filled /> },\n required: true,\n }),\n onClick: (e: React.MouseEvent<ARIAButtonElementIntersection<'div'>>) => {\n selectRadio?.(e, name, value, checked);\n props.onClick?.(e);\n },\n },\n ref,\n ),\n checked,\n name,\n value,\n };\n};\n"],"mappings":"AAAA,YAAYA,KAAA,MAAW;AACvB,SAASC,gBAAgB,QAAQ;AACjC,SAASC,iBAAiB,QAAQ;AAClC,SAASC,2BAA2B,QAAQ;AAC5C,SAASC,oBAAoB,QAAQ;AAIrC;;;AAGA,OAAO,MAAMC,yBAAA,GAA4BA,CACvCC,KAAA,EACAC,GAAA,KACuB;EACvB,MAAM;IAAEC,IAAA;IAAMC;EAAK,CAAE,GAAGH,KAAA;EAExB,MAAMI,OAAA,GAAUP,2BAAA,CAA4BQ,OAAA,IAAW;QAChCC,sBAAA;IAArB,MAAMC,YAAA,GAAe,EAAAD,sBAAA,GAAAD,OAAA,CAAQG,aAAa,cAArBF,sBAAA,uBAAAA,sBAAuB,CAACJ,IAAA,CAAK,KAAI,EAAE;IACxD,OAAOK,YAAA,CAAaE,OAAO,CAACN,KAAA,MAAW,CAAC;EAC1C;EAEA,MAAMO,WAAA,GAAcb,2BAAA,CAA4BQ,OAAA,IAAWA,OAAA,CAAQK,WAAW;EAE9E,OAAO;IACL,GAAGZ,oBAAA,CACD;MACE,GAAGE,KAAK;MACRW,IAAA,EAAM;MACN,gBAAgBP,OAAA;MAChBQ,SAAA,EAAWjB,gBAAA,CAAiBK,KAAA,CAAMY,SAAS,EAAE;QAC3CC,YAAA,EAAc;UAAEC,QAAA,eAAUpB,KAAA,CAAAqB,aAAA,CAACnB,iBAAA;QAAqB;QAChDoB,QAAA,EAAU;MACZ;MACAC,OAAA,EAAUC,CAAA,IAA8D;YAEtEC,cAAA;QADAT,WAAA,aAAAA,WAAA,uBAAAA,WAAA,CAAcQ,CAAA,EAAGhB,IAAA,EAAMC,KAAA,EAAOC,OAAA;QAC9B,CAAAe,cAAA,GAAAnB,KAAA,CAAMiB,OAAO,cAAbE,cAAA,uBAAAA,cAAA,CAAAC,IAAA,CAAApB,KAAA,EAAgBkB,CAAA;MAClB;IACF,GACAjB,GAAA,CACD;IACDG,OAAA;IACAF,IAAA;IACAC;EACF;AACF"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { mergeClasses } from '@griffel/react';
|
|
2
|
+
import { useCheckmarkStyles_unstable } from '../../selectable/index';
|
|
3
|
+
import { useMenuItemStyles_unstable } from '../MenuItem/useMenuItemStyles.styles';
|
|
4
|
+
export const menuItemRadioClassNames = {
|
|
5
|
+
root: 'fui-MenuItemRadio',
|
|
6
|
+
icon: 'fui-MenuItemRadio__icon',
|
|
7
|
+
checkmark: 'fui-MenuItemRadio__checkmark',
|
|
8
|
+
content: 'fui-MenuItemRadio__content',
|
|
9
|
+
secondaryContent: 'fui-MenuItemRadio__secondaryContent'
|
|
10
|
+
};
|
|
11
|
+
export const useMenuItemRadioStyles_unstable = state => {
|
|
12
|
+
state.root.className = mergeClasses(menuItemRadioClassNames.root, state.root.className);
|
|
13
|
+
if (state.content) {
|
|
14
|
+
state.content.className = mergeClasses(menuItemRadioClassNames.content, state.content.className);
|
|
15
|
+
}
|
|
16
|
+
if (state.secondaryContent) {
|
|
17
|
+
state.secondaryContent.className = mergeClasses(menuItemRadioClassNames.secondaryContent, state.secondaryContent.className);
|
|
18
|
+
}
|
|
19
|
+
if (state.icon) {
|
|
20
|
+
state.icon.className = mergeClasses(menuItemRadioClassNames.icon, state.icon.className);
|
|
21
|
+
}
|
|
22
|
+
if (state.checkmark) {
|
|
23
|
+
state.checkmark.className = mergeClasses(menuItemRadioClassNames.checkmark, state.checkmark.className);
|
|
24
|
+
}
|
|
25
|
+
useMenuItemStyles_unstable(state);
|
|
26
|
+
useCheckmarkStyles_unstable(state);
|
|
27
|
+
};
|
|
28
|
+
//# sourceMappingURL=useMenuItemRadioStyles.styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["mergeClasses","useCheckmarkStyles_unstable","useMenuItemStyles_unstable","menuItemRadioClassNames","root","icon","checkmark","content","secondaryContent","useMenuItemRadioStyles_unstable","state","className"],"sources":["../../../src/components/MenuItemRadio/useMenuItemRadioStyles.styles.ts"],"sourcesContent":["import { mergeClasses } from '@griffel/react';\nimport { useCheckmarkStyles_unstable } from '../../selectable/index';\nimport { useMenuItemStyles_unstable } from '../MenuItem/useMenuItemStyles.styles';\nimport type { SlotClassNames } from '@fluentui/react-utilities';\nimport type { MenuItemSlots } from '../index';\nimport type { MenuItemRadioState } from './MenuItemRadio.types';\n\nexport const menuItemRadioClassNames: SlotClassNames<Omit<MenuItemSlots, 'submenuIndicator'>> = {\n root: 'fui-MenuItemRadio',\n icon: 'fui-MenuItemRadio__icon',\n checkmark: 'fui-MenuItemRadio__checkmark',\n content: 'fui-MenuItemRadio__content',\n secondaryContent: 'fui-MenuItemRadio__secondaryContent',\n};\n\nexport const useMenuItemRadioStyles_unstable = (state: MenuItemRadioState) => {\n state.root.className = mergeClasses(menuItemRadioClassNames.root, state.root.className);\n\n if (state.content) {\n state.content.className = mergeClasses(menuItemRadioClassNames.content, state.content.className);\n }\n\n if (state.secondaryContent) {\n state.secondaryContent.className = mergeClasses(\n menuItemRadioClassNames.secondaryContent,\n state.secondaryContent.className,\n );\n }\n\n if (state.icon) {\n state.icon.className = mergeClasses(menuItemRadioClassNames.icon, state.icon.className);\n }\n\n if (state.checkmark) {\n state.checkmark.className = mergeClasses(menuItemRadioClassNames.checkmark, state.checkmark.className);\n }\n\n useMenuItemStyles_unstable(state);\n useCheckmarkStyles_unstable(state);\n};\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ;AAC7B,SAASC,2BAA2B,QAAQ;AAC5C,SAASC,0BAA0B,QAAQ;AAK3C,OAAO,MAAMC,uBAAA,GAAmF;EAC9FC,IAAA,EAAM;EACNC,IAAA,EAAM;EACNC,SAAA,EAAW;EACXC,OAAA,EAAS;EACTC,gBAAA,EAAkB;AACpB;AAEA,OAAO,MAAMC,+BAAA,GAAmCC,KAAA,IAA8B;EAC5EA,KAAA,CAAMN,IAAI,CAACO,SAAS,GAAGX,YAAA,CAAaG,uBAAA,CAAwBC,IAAI,EAAEM,KAAA,CAAMN,IAAI,CAACO,SAAS;EAEtF,IAAID,KAAA,CAAMH,OAAO,EAAE;IACjBG,KAAA,CAAMH,OAAO,CAACI,SAAS,GAAGX,YAAA,CAAaG,uBAAA,CAAwBI,OAAO,EAAEG,KAAA,CAAMH,OAAO,CAACI,SAAS;EACjG;EAEA,IAAID,KAAA,CAAMF,gBAAgB,EAAE;IAC1BE,KAAA,CAAMF,gBAAgB,CAACG,SAAS,GAAGX,YAAA,CACjCG,uBAAA,CAAwBK,gBAAgB,EACxCE,KAAA,CAAMF,gBAAgB,CAACG,SAAS;EAEpC;EAEA,IAAID,KAAA,CAAML,IAAI,EAAE;IACdK,KAAA,CAAML,IAAI,CAACM,SAAS,GAAGX,YAAA,CAAaG,uBAAA,CAAwBE,IAAI,EAAEK,KAAA,CAAML,IAAI,CAACM,SAAS;EACxF;EAEA,IAAID,KAAA,CAAMJ,SAAS,EAAE;IACnBI,KAAA,CAAMJ,SAAS,CAACK,SAAS,GAAGX,YAAA,CAAaG,uBAAA,CAAwBG,SAAS,EAAEI,KAAA,CAAMJ,SAAS,CAACK,SAAS;EACvG;EAEAT,0BAAA,CAA2BQ,KAAA;EAC3BT,2BAAA,CAA4BS,KAAA;AAC9B"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { useMenuList_unstable } from './useMenuList';
|
|
3
|
+
import { renderMenuList_unstable } from './renderMenuList';
|
|
4
|
+
import { useMenuListContextValues_unstable } from './useMenuListContextValues';
|
|
5
|
+
import { useMenuListStyles_unstable } from './useMenuListStyles.styles';
|
|
6
|
+
import { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';
|
|
7
|
+
/**
|
|
8
|
+
* Define a styled MenuList, using the `useMenuList_unstable` hook.
|
|
9
|
+
*/
|
|
10
|
+
export const MenuList = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
11
|
+
const state = useMenuList_unstable(props, ref);
|
|
12
|
+
const contextValues = useMenuListContextValues_unstable(state);
|
|
13
|
+
useMenuListStyles_unstable(state);
|
|
14
|
+
useCustomStyleHook_unstable('useMenuListStyles_unstable')(state);
|
|
15
|
+
return renderMenuList_unstable(state, contextValues);
|
|
16
|
+
});
|
|
17
|
+
MenuList.displayName = 'MenuList';
|
|
18
|
+
//# sourceMappingURL=MenuList.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","useMenuList_unstable","renderMenuList_unstable","useMenuListContextValues_unstable","useMenuListStyles_unstable","useCustomStyleHook_unstable","MenuList","forwardRef","props","ref","state","contextValues","displayName"],"sources":["../../../src/components/MenuList/MenuList.tsx"],"sourcesContent":["import * as React from 'react';\nimport { useMenuList_unstable } from './useMenuList';\nimport { renderMenuList_unstable } from './renderMenuList';\nimport { useMenuListContextValues_unstable } from './useMenuListContextValues';\nimport { useMenuListStyles_unstable } from './useMenuListStyles.styles';\nimport type { MenuListProps } from './MenuList.types';\nimport type { ForwardRefComponent } from '@fluentui/react-utilities';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n\n/**\n * Define a styled MenuList, using the `useMenuList_unstable` hook.\n */\nexport const MenuList: ForwardRefComponent<MenuListProps> = React.forwardRef((props, ref) => {\n const state = useMenuList_unstable(props, ref);\n const contextValues = useMenuListContextValues_unstable(state);\n\n useMenuListStyles_unstable(state);\n\n useCustomStyleHook_unstable('useMenuListStyles_unstable')(state);\n\n return renderMenuList_unstable(state, contextValues);\n});\n\nMenuList.displayName = 'MenuList';\n"],"mappings":"AAAA,YAAYA,KAAA,MAAW;AACvB,SAASC,oBAAoB,QAAQ;AACrC,SAASC,uBAAuB,QAAQ;AACxC,SAASC,iCAAiC,QAAQ;AAClD,SAASC,0BAA0B,QAAQ;AAG3C,SAASC,2BAA2B,QAAQ;AAE5C;;;AAGA,OAAO,MAAMC,QAAA,gBAA+CN,KAAA,CAAMO,UAAU,CAAC,CAACC,KAAA,EAAOC,GAAA,KAAQ;EAC3F,MAAMC,KAAA,GAAQT,oBAAA,CAAqBO,KAAA,EAAOC,GAAA;EAC1C,MAAME,aAAA,GAAgBR,iCAAA,CAAkCO,KAAA;EAExDN,0BAAA,CAA2BM,KAAA;EAE3BL,2BAAA,CAA4B,8BAA8BK,KAAA;EAE1D,OAAOR,uBAAA,CAAwBQ,KAAA,EAAOC,aAAA;AACxC;AAEAL,QAAA,CAASM,WAAW,GAAG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React"],"sources":["../../../src/components/MenuList/MenuList.types.ts"],"sourcesContent":["import * as React from 'react';\nimport type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';\nimport type { MenuListContextValue } from '../../contexts/menuListContext';\nimport type { SelectableHandler } from '../../selectable/index';\n\nexport type MenuCheckedValueChangeEvent = React.MouseEvent | React.KeyboardEvent;\n\nexport type MenuCheckedValueChangeData = {\n /** The items for this value that are checked */\n checkedItems: string[];\n /** The name of the value */\n name: string;\n};\n\nexport type MenuListSlots = {\n root: Slot<'div'>;\n};\n\nexport type MenuListProps = ComponentProps<MenuListSlots> & {\n /**\n * Map of all checked values\n */\n checkedValues?: Record<string, string[]>;\n\n /**\n * Default values to be checked on mount\n */\n defaultCheckedValues?: Record<string, string[]>;\n\n /**\n * States that menu items can contain selectable items and reserve slots for item alignment\n */\n hasCheckmarks?: boolean;\n\n /**\n * States that menu items can contain icons and reserve slots for item alignment\n */\n hasIcons?: boolean;\n\n /**\n * Callback when checked items change for value with a name\n *\n * @param event - React's original SyntheticEvent\n * @param data - A data object with relevant information\n */\n onCheckedValueChange?: (e: MenuCheckedValueChangeEvent, data: MenuCheckedValueChangeData) => void;\n};\n\nexport type MenuListState = ComponentState<MenuListSlots> &\n Required<Pick<MenuListProps, 'checkedValues' | 'hasCheckmarks' | 'hasIcons'>> &\n Pick<MenuListProps, 'defaultCheckedValues' | 'onCheckedValueChange'> & {\n /**\n * Selects a radio item, will de-select the currently selected ratio item\n */\n selectRadio: SelectableHandler;\n\n /**\n * Callback to set focus on the next menu item by first character\n */\n setFocusByFirstCharacter: NonNullable<MenuListContextValue['setFocusByFirstCharacter']>;\n\n /*\n * Toggles the state of a checkbox item\n */\n toggleCheckbox: SelectableHandler;\n };\n\nexport type MenuListContextValues = {\n menuList: MenuListContextValue;\n};\n\n/**\n * @deprecated this type is not being used internally anymore\n */\nexport type UninitializedMenuListState = Omit<\n MenuListState,\n 'checkedValues' | 'selectRadio' | 'setFocusByFirstCharacter' | 'toggleCheckbox'\n> &\n Partial<Pick<MenuListState, 'checkedValues'>>;\n"],"mappings":"AAAA,YAAYA,KAAA,MAAW"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["../../../src/components/MenuList/index.ts"],"sourcesContent":["export * from './MenuList';\nexport * from './MenuList.types';\nexport * from './renderMenuList';\nexport * from './useMenuList';\nexport * from './useMenuListStyles.styles';\nexport * from './useMenuListContextValues';\n"],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/** @jsxRuntime classic */ /** @jsx createElement */import { createElement } from '@fluentui/react-jsx-runtime';
|
|
2
|
+
import { getSlotsNext } from '@fluentui/react-utilities';
|
|
3
|
+
import { MenuListProvider } from '../../contexts/menuListContext';
|
|
4
|
+
/**
|
|
5
|
+
* Function that renders the final JSX of the component
|
|
6
|
+
*/
|
|
7
|
+
export const renderMenuList_unstable = (state, contextValues) => {
|
|
8
|
+
const {
|
|
9
|
+
slots,
|
|
10
|
+
slotProps
|
|
11
|
+
} = getSlotsNext(state);
|
|
12
|
+
return /*#__PURE__*/createElement(MenuListProvider, {
|
|
13
|
+
value: contextValues.menuList
|
|
14
|
+
}, /*#__PURE__*/createElement(slots.root, slotProps.root));
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=renderMenuList.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createElement","getSlotsNext","MenuListProvider","renderMenuList_unstable","state","contextValues","slots","slotProps","value","menuList","root"],"sources":["../../../src/components/MenuList/renderMenuList.tsx"],"sourcesContent":["/** @jsxRuntime classic */\n/** @jsx createElement */\n\nimport { createElement } from '@fluentui/react-jsx-runtime';\nimport { getSlotsNext } from '@fluentui/react-utilities';\nimport { MenuListContextValues, MenuListSlots, MenuListState } from './MenuList.types';\nimport { MenuListProvider } from '../../contexts/menuListContext';\n\n/**\n * Function that renders the final JSX of the component\n */\nexport const renderMenuList_unstable = (state: MenuListState, contextValues: MenuListContextValues) => {\n const { slots, slotProps } = getSlotsNext<MenuListSlots>(state);\n\n return (\n <MenuListProvider value={contextValues.menuList}>\n <slots.root {...slotProps.root} />\n </MenuListProvider>\n );\n};\n"],"mappings":"AAAA,2BACA,yBAEA,SAASA,aAAa,QAAQ;AAC9B,SAASC,YAAY,QAAQ;AAE7B,SAASC,gBAAgB,QAAQ;AAEjC;;;AAGA,OAAO,MAAMC,uBAAA,GAA0BA,CAACC,KAAA,EAAsBC,aAAA,KAAyC;EACrG,MAAM;IAAEC,KAAA;IAAOC;EAAS,CAAE,GAAGN,YAAA,CAA4BG,KAAA;EAEzD,oBACEJ,aAdJ,CAcKE,gBAAA;IAAiBM,KAAA,EAAOH,aAAA,CAAcI;kBACrCT,aAfN,CAeOM,KAAA,CAAMI,IAAI,EAAKH,SAAA,CAAUG,IAAI;AAGpC"}
|