@workday/canvas-kit-react 12.0.0-alpha.906-next.0 → 12.0.0-alpha.908-next.0

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.
Files changed (208) hide show
  1. package/collection/index.ts +1 -0
  2. package/collection/lib/useListItemActiveDescendant.ts +26 -0
  3. package/combobox/lib/ComboboxMenu.tsx +1 -2
  4. package/combobox/lib/ComboboxMenuItem.tsx +3 -91
  5. package/dist/commonjs/action-bar/lib/ActionBar.d.ts +82 -10
  6. package/dist/commonjs/action-bar/lib/ActionBar.d.ts.map +1 -1
  7. package/dist/commonjs/avatar/lib/Avatar.js +21 -21
  8. package/dist/commonjs/badge/lib/CountBadge.js +3 -3
  9. package/dist/commonjs/breadcrumbs/lib/Breadcrumbs.d.ts +1 -1
  10. package/dist/commonjs/breadcrumbs/lib/BreadcrumbsMenu.d.ts +2 -2
  11. package/dist/commonjs/button/lib/BaseButton.js +21 -21
  12. package/dist/commonjs/button/lib/DeleteButton.js +1 -1
  13. package/dist/commonjs/button/lib/PrimaryButton.js +2 -2
  14. package/dist/commonjs/button/lib/SecondaryButton.js +2 -2
  15. package/dist/commonjs/button/lib/TertiaryButton.js +18 -18
  16. package/dist/commonjs/card/lib/Card.js +1 -1
  17. package/dist/commonjs/card/lib/CardBody.js +1 -1
  18. package/dist/commonjs/card/lib/CardHeading.js +1 -1
  19. package/dist/commonjs/checkbox/lib/CheckBackground.js +3 -3
  20. package/dist/commonjs/checkbox/lib/CheckboxCheck.js +5 -5
  21. package/dist/commonjs/checkbox/lib/CheckboxContainer.js +1 -1
  22. package/dist/commonjs/checkbox/lib/CheckboxInput.js +5 -5
  23. package/dist/commonjs/checkbox/lib/CheckboxRipple.js +1 -1
  24. package/dist/commonjs/collection/index.d.ts +1 -0
  25. package/dist/commonjs/collection/index.d.ts.map +1 -1
  26. package/dist/commonjs/collection/index.js +1 -0
  27. package/dist/commonjs/collection/lib/ListBox.js +4 -4
  28. package/dist/commonjs/collection/lib/useListItemActiveDescendant.d.ts +69 -0
  29. package/dist/commonjs/collection/lib/useListItemActiveDescendant.d.ts.map +1 -0
  30. package/dist/commonjs/collection/lib/useListItemActiveDescendant.js +25 -0
  31. package/dist/commonjs/combobox/lib/Combobox.d.ts +5 -83
  32. package/dist/commonjs/combobox/lib/Combobox.d.ts.map +1 -1
  33. package/dist/commonjs/combobox/lib/ComboboxMenu.d.ts +5 -83
  34. package/dist/commonjs/combobox/lib/ComboboxMenu.d.ts.map +1 -1
  35. package/dist/commonjs/combobox/lib/ComboboxMenu.js +1 -2
  36. package/dist/commonjs/combobox/lib/ComboboxMenuItem.d.ts +18 -260
  37. package/dist/commonjs/combobox/lib/ComboboxMenuItem.d.ts.map +1 -1
  38. package/dist/commonjs/combobox/lib/ComboboxMenuItem.js +3 -59
  39. package/dist/commonjs/combobox/lib/ComboboxMenuList.js +1 -1
  40. package/dist/commonjs/common/lib/AccessibleHide.js +1 -1
  41. package/dist/commonjs/common/lib/CanvasProvider.js +1 -1
  42. package/dist/commonjs/form-field/lib/FormFieldContainer.js +1 -1
  43. package/dist/commonjs/form-field/lib/FormFieldField.js +1 -1
  44. package/dist/commonjs/form-field/lib/FormFieldGroupLabel.js +5 -5
  45. package/dist/commonjs/form-field/lib/FormFieldGroupList.js +3 -3
  46. package/dist/commonjs/form-field/lib/FormFieldHint.js +3 -3
  47. package/dist/commonjs/form-field/lib/FormFieldLabel.js +5 -5
  48. package/dist/commonjs/form-field/lib/formFieldStencil.js +8 -8
  49. package/dist/commonjs/icon/lib/AccentIcon.js +2 -2
  50. package/dist/commonjs/icon/lib/AppletIcon.js +1 -1
  51. package/dist/commonjs/icon/lib/Graphic.js +2 -2
  52. package/dist/commonjs/icon/lib/Svg.js +2 -2
  53. package/dist/commonjs/icon/lib/SystemIcon.js +1 -1
  54. package/dist/commonjs/icon/lib/SystemIconCircle.js +1 -1
  55. package/dist/commonjs/loading-dots/lib/LoadingDots.js +3 -3
  56. package/dist/commonjs/menu/index.d.ts +2 -1
  57. package/dist/commonjs/menu/index.d.ts.map +1 -1
  58. package/dist/commonjs/menu/index.js +5 -1
  59. package/dist/commonjs/menu/lib/Menu.d.ts +89 -9
  60. package/dist/commonjs/menu/lib/Menu.d.ts.map +1 -1
  61. package/dist/commonjs/menu/lib/Menu.js +10 -0
  62. package/dist/commonjs/menu/lib/MenuCard.js +1 -1
  63. package/dist/commonjs/menu/lib/MenuItem.d.ts +12 -19
  64. package/dist/commonjs/menu/lib/MenuItem.d.ts.map +1 -1
  65. package/dist/commonjs/menu/lib/MenuItem.js +20 -91
  66. package/dist/commonjs/menu/lib/MenuList.js +3 -3
  67. package/dist/commonjs/menu/lib/MenuOption.d.ts +192 -0
  68. package/dist/commonjs/menu/lib/MenuOption.d.ts.map +1 -0
  69. package/dist/commonjs/menu/lib/MenuOption.js +89 -0
  70. package/dist/commonjs/modal/lib/ModalBody.js +1 -1
  71. package/dist/commonjs/modal/lib/ModalCard.js +1 -1
  72. package/dist/commonjs/modal/lib/ModalHeading.js +1 -1
  73. package/dist/commonjs/modal/lib/ModalOverflowOverlay.js +1 -1
  74. package/dist/commonjs/modal/lib/ModalOverlay.js +2 -2
  75. package/dist/commonjs/popup/lib/PopupBody.js +1 -1
  76. package/dist/commonjs/popup/lib/PopupCard.js +2 -2
  77. package/dist/commonjs/popup/lib/PopupCloseIcon.js +1 -1
  78. package/dist/commonjs/popup/lib/PopupHeading.js +1 -1
  79. package/dist/commonjs/select/lib/Select.d.ts +59 -962
  80. package/dist/commonjs/select/lib/Select.d.ts.map +1 -1
  81. package/dist/commonjs/select/lib/Select.js +5 -5
  82. package/dist/commonjs/switch/lib/Switch.js +7 -7
  83. package/dist/commonjs/table/lib/Table.js +1 -1
  84. package/dist/commonjs/table/lib/TableBody.js +1 -1
  85. package/dist/commonjs/table/lib/TableCaption.js +1 -1
  86. package/dist/commonjs/table/lib/TableCell.js +1 -1
  87. package/dist/commonjs/table/lib/TableFooter.js +1 -1
  88. package/dist/commonjs/table/lib/TableHead.js +1 -1
  89. package/dist/commonjs/table/lib/TableHeader.js +1 -1
  90. package/dist/commonjs/table/lib/TableRow.js +1 -1
  91. package/dist/commonjs/tabs/lib/Tabs.d.ts +82 -10
  92. package/dist/commonjs/tabs/lib/Tabs.d.ts.map +1 -1
  93. package/dist/commonjs/text/lib/LabelText.js +6 -6
  94. package/dist/commonjs/text/lib/Text.js +16 -16
  95. package/dist/commonjs/text/lib/TypeLevelComponents.js +4 -4
  96. package/dist/commonjs/text-area/lib/TextArea.js +5 -5
  97. package/dist/commonjs/text-input/lib/InputGroup.js +6 -6
  98. package/dist/commonjs/text-input/lib/TextInput.js +5 -5
  99. package/dist/commonjs/toast/lib/Toast.js +1 -1
  100. package/dist/commonjs/toast/lib/ToastBody.js +1 -1
  101. package/dist/commonjs/toast/lib/ToastCloseIcon.js +1 -1
  102. package/dist/commonjs/toast/lib/ToastIcon.js +1 -1
  103. package/dist/commonjs/toast/lib/ToastMessage.js +1 -1
  104. package/dist/es6/action-bar/lib/ActionBar.d.ts +82 -10
  105. package/dist/es6/action-bar/lib/ActionBar.d.ts.map +1 -1
  106. package/dist/es6/avatar/lib/Avatar.js +21 -21
  107. package/dist/es6/badge/lib/CountBadge.js +3 -3
  108. package/dist/es6/breadcrumbs/lib/Breadcrumbs.d.ts +1 -1
  109. package/dist/es6/breadcrumbs/lib/BreadcrumbsMenu.d.ts +2 -2
  110. package/dist/es6/button/lib/BaseButton.js +21 -21
  111. package/dist/es6/button/lib/DeleteButton.js +1 -1
  112. package/dist/es6/button/lib/PrimaryButton.js +2 -2
  113. package/dist/es6/button/lib/SecondaryButton.js +2 -2
  114. package/dist/es6/button/lib/TertiaryButton.js +18 -18
  115. package/dist/es6/card/lib/Card.js +1 -1
  116. package/dist/es6/card/lib/CardBody.js +1 -1
  117. package/dist/es6/card/lib/CardHeading.js +1 -1
  118. package/dist/es6/checkbox/lib/CheckBackground.js +3 -3
  119. package/dist/es6/checkbox/lib/CheckboxCheck.js +5 -5
  120. package/dist/es6/checkbox/lib/CheckboxContainer.js +1 -1
  121. package/dist/es6/checkbox/lib/CheckboxInput.js +5 -5
  122. package/dist/es6/checkbox/lib/CheckboxRipple.js +1 -1
  123. package/dist/es6/collection/index.d.ts +1 -0
  124. package/dist/es6/collection/index.d.ts.map +1 -1
  125. package/dist/es6/collection/index.js +1 -0
  126. package/dist/es6/collection/lib/ListBox.js +4 -4
  127. package/dist/es6/collection/lib/useListItemActiveDescendant.d.ts +69 -0
  128. package/dist/es6/collection/lib/useListItemActiveDescendant.d.ts.map +1 -0
  129. package/dist/es6/collection/lib/useListItemActiveDescendant.js +22 -0
  130. package/dist/es6/combobox/lib/Combobox.d.ts +5 -83
  131. package/dist/es6/combobox/lib/Combobox.d.ts.map +1 -1
  132. package/dist/es6/combobox/lib/ComboboxMenu.d.ts +5 -83
  133. package/dist/es6/combobox/lib/ComboboxMenu.d.ts.map +1 -1
  134. package/dist/es6/combobox/lib/ComboboxMenu.js +1 -2
  135. package/dist/es6/combobox/lib/ComboboxMenuItem.d.ts +18 -260
  136. package/dist/es6/combobox/lib/ComboboxMenuItem.d.ts.map +1 -1
  137. package/dist/es6/combobox/lib/ComboboxMenuItem.js +3 -56
  138. package/dist/es6/combobox/lib/ComboboxMenuList.js +1 -1
  139. package/dist/es6/common/lib/AccessibleHide.js +1 -1
  140. package/dist/es6/common/lib/CanvasProvider.js +1 -1
  141. package/dist/es6/form-field/lib/FormFieldContainer.js +1 -1
  142. package/dist/es6/form-field/lib/FormFieldField.js +1 -1
  143. package/dist/es6/form-field/lib/FormFieldGroupLabel.js +5 -5
  144. package/dist/es6/form-field/lib/FormFieldGroupList.js +3 -3
  145. package/dist/es6/form-field/lib/FormFieldHint.js +3 -3
  146. package/dist/es6/form-field/lib/FormFieldLabel.js +5 -5
  147. package/dist/es6/form-field/lib/formFieldStencil.js +8 -8
  148. package/dist/es6/icon/lib/AccentIcon.js +2 -2
  149. package/dist/es6/icon/lib/AppletIcon.js +1 -1
  150. package/dist/es6/icon/lib/Graphic.js +2 -2
  151. package/dist/es6/icon/lib/Svg.js +2 -2
  152. package/dist/es6/icon/lib/SystemIcon.js +1 -1
  153. package/dist/es6/icon/lib/SystemIconCircle.js +1 -1
  154. package/dist/es6/loading-dots/lib/LoadingDots.js +3 -3
  155. package/dist/es6/menu/index.d.ts +2 -1
  156. package/dist/es6/menu/index.d.ts.map +1 -1
  157. package/dist/es6/menu/index.js +2 -1
  158. package/dist/es6/menu/lib/Menu.d.ts +89 -9
  159. package/dist/es6/menu/lib/Menu.d.ts.map +1 -1
  160. package/dist/es6/menu/lib/Menu.js +10 -0
  161. package/dist/es6/menu/lib/MenuCard.js +1 -1
  162. package/dist/es6/menu/lib/MenuItem.d.ts +12 -19
  163. package/dist/es6/menu/lib/MenuItem.d.ts.map +1 -1
  164. package/dist/es6/menu/lib/MenuItem.js +22 -93
  165. package/dist/es6/menu/lib/MenuList.js +3 -3
  166. package/dist/es6/menu/lib/MenuOption.d.ts +192 -0
  167. package/dist/es6/menu/lib/MenuOption.d.ts.map +1 -0
  168. package/dist/es6/menu/lib/MenuOption.js +63 -0
  169. package/dist/es6/modal/lib/ModalBody.js +1 -1
  170. package/dist/es6/modal/lib/ModalCard.js +1 -1
  171. package/dist/es6/modal/lib/ModalHeading.js +1 -1
  172. package/dist/es6/modal/lib/ModalOverflowOverlay.js +1 -1
  173. package/dist/es6/modal/lib/ModalOverlay.js +2 -2
  174. package/dist/es6/popup/lib/PopupBody.js +1 -1
  175. package/dist/es6/popup/lib/PopupCard.js +2 -2
  176. package/dist/es6/popup/lib/PopupCloseIcon.js +1 -1
  177. package/dist/es6/popup/lib/PopupHeading.js +1 -1
  178. package/dist/es6/select/lib/Select.d.ts +59 -962
  179. package/dist/es6/select/lib/Select.d.ts.map +1 -1
  180. package/dist/es6/select/lib/Select.js +5 -5
  181. package/dist/es6/switch/lib/Switch.js +7 -7
  182. package/dist/es6/table/lib/Table.js +1 -1
  183. package/dist/es6/table/lib/TableBody.js +1 -1
  184. package/dist/es6/table/lib/TableCaption.js +1 -1
  185. package/dist/es6/table/lib/TableCell.js +1 -1
  186. package/dist/es6/table/lib/TableFooter.js +1 -1
  187. package/dist/es6/table/lib/TableHead.js +1 -1
  188. package/dist/es6/table/lib/TableHeader.js +1 -1
  189. package/dist/es6/table/lib/TableRow.js +1 -1
  190. package/dist/es6/tabs/lib/Tabs.d.ts +82 -10
  191. package/dist/es6/tabs/lib/Tabs.d.ts.map +1 -1
  192. package/dist/es6/text/lib/LabelText.js +6 -6
  193. package/dist/es6/text/lib/Text.js +16 -16
  194. package/dist/es6/text/lib/TypeLevelComponents.js +4 -4
  195. package/dist/es6/text-area/lib/TextArea.js +5 -5
  196. package/dist/es6/text-input/lib/InputGroup.js +6 -6
  197. package/dist/es6/text-input/lib/TextInput.js +5 -5
  198. package/dist/es6/toast/lib/Toast.js +1 -1
  199. package/dist/es6/toast/lib/ToastBody.js +1 -1
  200. package/dist/es6/toast/lib/ToastCloseIcon.js +1 -1
  201. package/dist/es6/toast/lib/ToastIcon.js +1 -1
  202. package/dist/es6/toast/lib/ToastMessage.js +1 -1
  203. package/menu/index.ts +2 -1
  204. package/menu/lib/Menu.tsx +10 -0
  205. package/menu/lib/MenuItem.tsx +107 -99
  206. package/menu/lib/MenuOption.tsx +138 -0
  207. package/package.json +4 -4
  208. package/select/lib/Select.tsx +1 -1
@@ -0,0 +1,192 @@
1
+ import * as React from 'react';
2
+ import { SystemIconProps } from '@workday/canvas-kit-react/icon';
3
+ export interface MenuOptionProps {
4
+ /**
5
+ * Optionally pass index to menu item. This should be done if `Menu.Item` components were created
6
+ * via a `Array::map` function. This index will ensure keyboard navigation works even if items are
7
+ * inserted out of order.
8
+ */
9
+ index?: number;
10
+ /**
11
+ * The label text of the MenuOption.
12
+ */
13
+ children?: React.ReactNode;
14
+ /**
15
+ * The name of the menu item. This name will be used in the `onSelect` callback in the model. If
16
+ * this property is not provided, it will default to a string representation of the the zero-based
17
+ * index of the Tab when it was initialized.
18
+ */
19
+ 'data-id'?: string;
20
+ /**
21
+ * `aria-disabled` is used for keyboard and screen reader users to discover disabled content with
22
+ * the keyboard or screen reader caret tool. For more information, see
23
+ * https://www.w3.org/WAI/ARIA/apg/practices/keyboard-interface/#kbd_disabled_controls
24
+ */
25
+ 'aria-disabled'?: boolean;
26
+ }
27
+ export declare const menuOptionStencil: import("@workday/canvas-kit-styling").Stencil<import("@workday/canvas-kit-styling").StencilModifierConfig<{}, never>, {}, import("@workday/canvas-kit-styling").Stencil<import("@workday/canvas-kit-styling").StencilModifierConfig<{}, never>, {}, never, never>, never>;
28
+ export declare const StyledMenuOption: import("@workday/canvas-kit-react/common").ElementComponent<"button", MenuOptionProps>;
29
+ export declare const useMenuOption: import("@workday/canvas-kit-react/common").BehaviorHook<{
30
+ state: {
31
+ stackRef: React.RefObject<HTMLDivElement>;
32
+ targetRef: React.RefObject<HTMLButtonElement>;
33
+ initialFocusRef: React.RefObject<any> | undefined;
34
+ returnFocusRef: React.RefObject<any> | undefined;
35
+ placement: import("@popperjs/core").Placement;
36
+ id: string;
37
+ visibility: "hidden" | "visible";
38
+ selectedIds: string[] | "all";
39
+ unselectedIds: string[];
40
+ cursorId: string;
41
+ columnCount: number;
42
+ pageSizeRef: React.MutableRefObject<number>;
43
+ cursorIndexRef: {
44
+ readonly current: number;
45
+ };
46
+ UNSTABLE_virtual: {
47
+ virtualItems: import("../../collection/lib/react-virtual").VirtualItem[];
48
+ totalSize: number;
49
+ scrollToOffset: (index: number, options?: import("../../collection/lib/react-virtual").ScrollToOffsetOptions | undefined) => void;
50
+ scrollToIndex: (index: number, options?: import("../../collection/lib/react-virtual").ScrollToIndexOptions | undefined) => void;
51
+ measure: () => void;
52
+ };
53
+ UNSTABLE_defaultItemHeight: number;
54
+ containerRef: React.RefObject<HTMLDivElement>;
55
+ orientation: "horizontal" | "vertical";
56
+ indexRef: React.MutableRefObject<number>;
57
+ nonInteractiveIds: string[];
58
+ isVirtualized: boolean;
59
+ items: import("@workday/canvas-kit-react/collection").Item<any>[];
60
+ mode: "multiple" | "single";
61
+ };
62
+ events: {
63
+ updatePlacement(data: {
64
+ placement: import("@popperjs/core").Placement;
65
+ }): void;
66
+ show(event?: Event | React.SyntheticEvent<Element, Event> | undefined): void;
67
+ hide(event?: Event | React.SyntheticEvent<Element, Event> | undefined): void;
68
+ select(data: {
69
+ id: string;
70
+ }): void;
71
+ selectAll(): void;
72
+ unselectAll(): void;
73
+ goTo(data: {
74
+ id: string;
75
+ }): void;
76
+ goToNext(): void;
77
+ goToPrevious(): void;
78
+ goToPreviousRow(): void;
79
+ goToNextRow(): void;
80
+ goToFirst(): void;
81
+ goToLast(): void;
82
+ goToFirstOfRow(): void;
83
+ goToLastOfRow(): void;
84
+ goToNextPage(): void;
85
+ goToPreviousPage(): void;
86
+ registerItem(data: {
87
+ item: any;
88
+ textValue: string;
89
+ }): void;
90
+ unregisterItem(data: {
91
+ id: string;
92
+ }): void;
93
+ updateItemHeight(data: {
94
+ value: number;
95
+ }): void;
96
+ };
97
+ selection: import("../../collection/lib/useSelectionListModel").SelectionManager;
98
+ navigation: import("../../collection/lib/useCursorListModel").NavigationManager;
99
+ getId: (item: any) => string;
100
+ }, {
101
+ role: string;
102
+ 'aria-selected': boolean;
103
+ onMouseDown: (event: React.MouseEvent<HTMLElement>) => void;
104
+ } & {
105
+ className: string;
106
+ } & {
107
+ ref: (instance: HTMLElement | null) => void;
108
+ 'data-id': string;
109
+ disabled: boolean | undefined;
110
+ item: null;
111
+ virtual: null;
112
+ 'aria-setsize': number | undefined;
113
+ 'aria-posinset': number | undefined;
114
+ style: React.CSSProperties;
115
+ id: string;
116
+ }>;
117
+ export declare const MenuOption: import("@workday/canvas-kit-react/common").ElementComponentM<"li", MenuOptionProps, {
118
+ state: {
119
+ stackRef: React.RefObject<HTMLDivElement>;
120
+ targetRef: React.RefObject<HTMLButtonElement>;
121
+ initialFocusRef: React.RefObject<any> | undefined;
122
+ returnFocusRef: React.RefObject<any> | undefined;
123
+ placement: import("@popperjs/core").Placement;
124
+ id: string;
125
+ visibility: "hidden" | "visible";
126
+ selectedIds: string[] | "all";
127
+ unselectedIds: string[];
128
+ cursorId: string;
129
+ columnCount: number;
130
+ pageSizeRef: React.MutableRefObject<number>;
131
+ cursorIndexRef: {
132
+ readonly current: number;
133
+ };
134
+ UNSTABLE_virtual: {
135
+ virtualItems: import("../../collection/lib/react-virtual").VirtualItem[];
136
+ totalSize: number;
137
+ scrollToOffset: (index: number, options?: import("../../collection/lib/react-virtual").ScrollToOffsetOptions | undefined) => void;
138
+ scrollToIndex: (index: number, options?: import("../../collection/lib/react-virtual").ScrollToIndexOptions | undefined) => void;
139
+ measure: () => void;
140
+ };
141
+ UNSTABLE_defaultItemHeight: number;
142
+ containerRef: React.RefObject<HTMLDivElement>;
143
+ orientation: "horizontal" | "vertical";
144
+ indexRef: React.MutableRefObject<number>;
145
+ nonInteractiveIds: string[];
146
+ isVirtualized: boolean;
147
+ items: import("@workday/canvas-kit-react/collection").Item<any>[];
148
+ mode: "multiple" | "single";
149
+ };
150
+ events: {
151
+ updatePlacement(data: {
152
+ placement: import("@popperjs/core").Placement;
153
+ }): void;
154
+ show(event?: Event | React.SyntheticEvent<Element, Event> | undefined): void;
155
+ hide(event?: Event | React.SyntheticEvent<Element, Event> | undefined): void;
156
+ select(data: {
157
+ id: string;
158
+ }): void;
159
+ selectAll(): void;
160
+ unselectAll(): void;
161
+ goTo(data: {
162
+ id: string;
163
+ }): void;
164
+ goToNext(): void;
165
+ goToPrevious(): void;
166
+ goToPreviousRow(): void;
167
+ goToNextRow(): void;
168
+ goToFirst(): void;
169
+ goToLast(): void;
170
+ goToFirstOfRow(): void;
171
+ goToLastOfRow(): void;
172
+ goToNextPage(): void;
173
+ goToPreviousPage(): void;
174
+ registerItem(data: {
175
+ item: any;
176
+ textValue: string;
177
+ }): void;
178
+ unregisterItem(data: {
179
+ id: string;
180
+ }): void;
181
+ updateItemHeight(data: {
182
+ value: number;
183
+ }): void;
184
+ };
185
+ selection: import("../../collection/lib/useSelectionListModel").SelectionManager;
186
+ navigation: import("../../collection/lib/useCursorListModel").NavigationManager;
187
+ getId: (item: any) => string;
188
+ }> & {
189
+ Icon: (elemProps: SystemIconProps) => React.JSX.Element;
190
+ Text: ({ children }: React.PropsWithChildren) => React.JSX.Element;
191
+ };
192
+ //# sourceMappingURL=MenuOption.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MenuOption.d.ts","sourceRoot":"","sources":["../../../../menu/lib/MenuOption.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAY/B,OAAO,EAAa,eAAe,EAAoB,MAAM,gCAAgC,CAAC;AAY9F,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,eAAO,MAAM,iBAAiB,2QAe5B,CAAC;AAeH,eAAO,MAAM,gBAAgB,wFAS3B,CAAC;AAEH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAMM,gBAAgB,CAAC,WAAW,CAAC;;;;;;;;;;;;;EAuB5D,CAAC;AAEF,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAvDY,eAAe;yBAId,MAAM,iBAAiB;CAmEzD,CAAC"}
@@ -0,0 +1,63 @@
1
+ import * as React from 'react';
2
+ import { createStencil } from '@workday/canvas-kit-styling';
3
+ import { brand, system } from '@workday/canvas-tokens-web';
4
+ import { checkSmallIcon } from '@workday/canvas-system-icons-web';
5
+ import { createSubcomponent, composeHooks, createElemPropsHook, createComponent, } from '@workday/canvas-kit-react/common';
6
+ import { SystemIcon, systemIconStencil } from '@workday/canvas-kit-react/icon';
7
+ import { OverflowTooltip } from '@workday/canvas-kit-react/tooltip';
8
+ import { mergeStyles } from '@workday/canvas-kit-react/layout';
9
+ import { isSelected, useListItemActiveDescendant, useListItemRegister, } from '@workday/canvas-kit-react/collection';
10
+ import { useMenuModel } from './useMenuModel';
11
+ import { menuItemStencil } from './MenuItem';
12
+ export const menuOptionStencil = createStencil({
13
+ extends: menuItemStencil,
14
+ base: { name: "xgsx2s", styles: "box-sizing:border-box;&:where([aria-selected=true]){& :where([data-part=\"menu-item-selected\"]){opacity:var(--cnvs-sys-opacity-full);}&:where(.focus, :focus){--color-system-icon-583fae:var(--cnvs-brand-primary-accent);outline:none;background-color:var(--cnvs-brand-primary-base);color:var(--color-system-icon-583fae);}}" }
15
+ }, "menu-option-af4ba2");
16
+ const MenuOptionIcon = (elemProps) => {
17
+ return React.createElement(SystemIcon, { "data-part": "menu-item-icon", ...elemProps });
18
+ };
19
+ const MenuOptionText = ({ children }) => {
20
+ return (React.createElement(React.Fragment, null,
21
+ React.createElement("span", { "data-part": "menu-item-text" }, children),
22
+ React.createElement(SystemIcon, { icon: checkSmallIcon, "data-part": "menu-item-selected" })));
23
+ };
24
+ export const StyledMenuOption = createComponent('button')({
25
+ displayName: 'MenuOption',
26
+ Component: ({ children, ...elemProps }, ref, Element) => {
27
+ return (React.createElement(Element, { ref: ref, ...mergeStyles(elemProps, menuOptionStencil()) }, typeof children === 'string' ? React.createElement(MenuOptionText, null, children) : children));
28
+ },
29
+ });
30
+ export const useMenuOption = composeHooks(createElemPropsHook(useMenuModel)((model, ref, elemProps = {}) => {
31
+ const id = elemProps['data-id'] || '';
32
+ const selected = isSelected(id, model.state);
33
+ const onMouseDown = (event) => {
34
+ // Only left mouse button
35
+ if (event.button === 0) {
36
+ if (event.currentTarget.getAttribute('aria-disabled') !== 'true') {
37
+ model.events.select({ id });
38
+ if (model.state.mode === 'single') {
39
+ model.events.hide(event);
40
+ }
41
+ }
42
+ }
43
+ // prevent focus changes
44
+ event.preventDefault();
45
+ };
46
+ return {
47
+ role: 'option',
48
+ 'aria-selected': selected,
49
+ onMouseDown,
50
+ };
51
+ }), useListItemActiveDescendant, useListItemRegister);
52
+ export const MenuOption = createSubcomponent('li')({
53
+ displayName: 'Menu.Item',
54
+ modelHook: useMenuModel,
55
+ elemPropsHook: useMenuOption,
56
+ subComponents: {
57
+ Icon: MenuOptionIcon,
58
+ Text: MenuOptionText,
59
+ },
60
+ })(({ children, ...elemProps }, Element) => {
61
+ return (React.createElement(OverflowTooltip, { placement: "left" },
62
+ React.createElement(StyledMenuOption, { as: Element, ...elemProps }, children)));
63
+ });
@@ -6,7 +6,7 @@ import { createStencil } from '@workday/canvas-kit-styling';
6
6
  import { system } from '@workday/canvas-tokens-web';
7
7
  import { mergeStyles } from '@workday/canvas-kit-react/layout';
8
8
  export const modalBodyStencil = createStencil({
9
- base: { name: "n4fo56", styles: "box-sizing:border-box;@media screen and (max-width: 768px){margin-block-end:var(--cnvs-sys-space-zero);padding:var(--cnvs-sys-space-x1) var(--cnvs-sys-space-x2) var(--cnvs-sys-space-x2);}" }
9
+ base: { name: "xgsx56", styles: "box-sizing:border-box;@media screen and (max-width: 768px){margin-block-end:var(--cnvs-sys-space-zero);padding:var(--cnvs-sys-space-x1) var(--cnvs-sys-space-x2) var(--cnvs-sys-space-x2);}" }
10
10
  }, "modal-body-d624fe");
11
11
  export const ModalBody = createSubcomponent('div')({
12
12
  displayName: 'Modal.Body',
@@ -6,7 +6,7 @@ import { calc, createStencil } from '@workday/canvas-kit-styling';
6
6
  import { system } from '@workday/canvas-tokens-web';
7
7
  import { mergeStyles } from '@workday/canvas-kit-react/layout';
8
8
  export const modalCardStencil = createStencil({
9
- base: { name: "n4fo53", styles: "box-sizing:border-box;margin:var(--cnvs-sys-space-x10);width:calc(calc(var(--cnvs-sys-space-x20) * 5) + var(--cnvs-sys-space-x10));border-width:var(--cnvs-sys-space-zero);box-shadow:var(--cnvs-sys-depth-6);@media screen and (max-width: 768px){margin:var(--cnvs-sys-space-x4);padding:var(--cnvs-sys-space-x4);border-radius:var(--cnvs-sys-space-x6);}" }
9
+ base: { name: "xgsx53", styles: "box-sizing:border-box;margin:var(--cnvs-sys-space-x10);width:calc(calc(var(--cnvs-sys-space-x20) * 5) + var(--cnvs-sys-space-x10));border-width:var(--cnvs-sys-space-zero);box-shadow:var(--cnvs-sys-depth-6);@media screen and (max-width: 768px){margin:var(--cnvs-sys-space-x4);padding:var(--cnvs-sys-space-x4);border-radius:var(--cnvs-sys-space-x6);}" }
10
10
  }, "modal-card-9eebe8");
11
11
  export const ModalCard = createSubcomponent('div')({
12
12
  displayName: 'Modal.Card',
@@ -6,7 +6,7 @@ import { createStencil } from '@workday/canvas-kit-styling';
6
6
  import { system } from '@workday/canvas-tokens-web';
7
7
  import { mergeStyles } from '@workday/canvas-kit-react/layout';
8
8
  export const modalHeadingStencil = createStencil({
9
- base: { name: "n4fo54", styles: "box-sizing:border-box;@media screen and (max-width: 768px){margin-block-end:var(--cnvs-sys-space-zero);padding:var(--cnvs-sys-space-x2) var(--cnvs-sys-space-x2) var(--cnvs-sys-space-x1);}" }
9
+ base: { name: "xgsx54", styles: "box-sizing:border-box;@media screen and (max-width: 768px){margin-block-end:var(--cnvs-sys-space-zero);padding:var(--cnvs-sys-space-x2) var(--cnvs-sys-space-x2) var(--cnvs-sys-space-x1);}" }
10
10
  }, "modal-heading-52f13d");
11
11
  export const ModalHeading = createSubcomponent('h2')({
12
12
  displayName: 'Modal.Heading',
@@ -5,7 +5,7 @@ import { useModalModel } from './hooks';
5
5
  import { createStencil } from '@workday/canvas-kit-styling';
6
6
  import { mergeStyles } from '@workday/canvas-kit-react/layout';
7
7
  export const modalOverflowOverlayStencil = createStencil({
8
- base: { name: "n4fo55", styles: "box-sizing:border-box;& > div{max-height:inherit;}overflow:hidden auto;" }
8
+ base: { name: "xgsx55", styles: "box-sizing:border-box;& > div{max-height:inherit;}overflow:hidden auto;" }
9
9
  }, "modal-overflow-overlay-2ac342");
10
10
  export const ModalOverflowOverlay = createSubcomponent('div')({
11
11
  displayName: 'Modal.OverflowOverlay',
@@ -6,12 +6,12 @@ import { Box, mergeStyles } from '@workday/canvas-kit-react/layout';
6
6
  import { useModalModel } from './hooks';
7
7
  import { createStencil, cssVar, keyframes } from '@workday/canvas-kit-styling';
8
8
  import { system } from '@workday/canvas-tokens-web';
9
- const fadeIn = keyframes({ name: "n4fo51", styles: "0%{background:none;}100%{background:var(--cnvs-sys-color-bg-overlay);}" });
9
+ const fadeIn = keyframes({ name: "xgsx51", styles: "0%{background:none;}100%{background:var(--cnvs-sys-color-bg-overlay);}" });
10
10
  export const modalOverlayContainerStencil = createStencil({
11
11
  vars: {
12
12
  containerCenter: '',
13
13
  },
14
- base: { name: "n4fo52", styles: "box-sizing:border-box;position:fixed;top:var(--cnvs-sys-space-zero);left:var(--cnvs-sys-space-zero);width:100vw;height:100vh;background:var(--cnvs-sys-color-bg-overlay);animation-duration:0.3s;animation-name:animation-n4fo51;.wd-no-animation &{animation:none;}& > div{max-height:100%;display:flex;position:absolute;left:var(--cnvs-sys-space-zero);top:var(--cnvs-sys-space-zero);justify-content:center;align-items:center;height:100%;width:var(--containerCenter-modal-overlay-container-8b6518);}@media screen and (max-width: 768px){height:100%;& > div{align-items:end;}}" }
14
+ base: { name: "xgsx52", styles: "box-sizing:border-box;position:fixed;top:var(--cnvs-sys-space-zero);left:var(--cnvs-sys-space-zero);width:100vw;height:100vh;background:var(--cnvs-sys-color-bg-overlay);animation-duration:0.3s;animation-name:animation-xgsx51;.wd-no-animation &{animation:none;}& > div{max-height:100%;display:flex;position:absolute;left:var(--cnvs-sys-space-zero);top:var(--cnvs-sys-space-zero);justify-content:center;align-items:center;height:100%;width:var(--containerCenter-modal-overlay-container-8b6518);}@media screen and (max-width: 768px){height:100%;& > div{align-items:end;}}" }
15
15
  }, "modal-overlay-container-8b6518");
16
16
  export const useModalOverlay = createElemPropsHook(usePopupModel)(({ state }, ref) => {
17
17
  const elementRef = useForkRef(ref, state.stackRef);
@@ -6,7 +6,7 @@ import { createStencil } from '@workday/canvas-kit-styling';
6
6
  import { mergeStyles } from '../../layout';
7
7
  import { system } from '@workday/canvas-tokens-web';
8
8
  export const popupBodyStencil = createStencil({
9
- base: { name: "n4fo2i", styles: "box-sizing:border-box;overflow-y:auto;padding:var(--cnvs-sys-space-x2);" }
9
+ base: { name: "xgsx2i", styles: "box-sizing:border-box;overflow-y:auto;padding:var(--cnvs-sys-space-x2);" }
10
10
  }, "popup-body-1fee86");
11
11
  export const PopupBody = createSubcomponent('div')({
12
12
  displayName: 'Popup.Body',
@@ -11,7 +11,7 @@ const translateVars = createVars({ id: "696a04", args: ["positionX", "positionY"
11
11
  /**
12
12
  * Keyframe for the dots loading animation.
13
13
  */
14
- const fadeIn = keyframes({ name: "n4fox", styles: "0%{opacity:1;transform:translate(var(--positionX-696a04), var(--positionY-696a04));}100%{opacity:1;transform:translate(0);}" });
14
+ const fadeIn = keyframes({ name: "xgsxx", styles: "0%{opacity:1;transform:translate(var(--positionX-696a04), var(--positionY-696a04));}100%{opacity:1;transform:translate(0);}" });
15
15
  function getSpace(value) {
16
16
  if (value && value in space) {
17
17
  return space[value];
@@ -45,7 +45,7 @@ export const popupCardStencil = createStencil({
45
45
  transformOriginHorizontal: '',
46
46
  transformOriginVertical: '',
47
47
  },
48
- base: { name: "n4foy", styles: "box-sizing:border-box;font-family:var(--cnvs-base-font-family-50);font-weight:var(--cnvs-base-font-weight-400);line-height:var(--cnvs-base-line-height-100);font-size:var(--cnvs-base-font-size-75);letter-spacing:var(--cnvs-base-letter-spacing-150);display:flex;position:relative;max-width:calc(100vw - var(--cnvs-sys-space-x8));flex-direction:column;box-shadow:var(--cnvs-sys-depth-5);min-height:var(--cnvs-sys-space-zero);padding:var(--cnvs-sys-space-x6);max-height:var(--maxHeight-popup-card-36628b);overflow-y:auto;animation-name:animation-n4fox;animation-duration:150ms;animation-timing-function:ease-out;transform-origin:var(--transformOriginVertical-popup-card-36628b) var(--transformOriginHorizontal-popup-card-36628b);.wd-no-animation &{animation:none;}@media screen and (max-width: 768px){transform-origin:bottom center;}" }
48
+ base: { name: "xgsxy", styles: "box-sizing:border-box;font-family:var(--cnvs-base-font-family-50);font-weight:var(--cnvs-base-font-weight-400);line-height:var(--cnvs-base-line-height-100);font-size:var(--cnvs-base-font-size-75);letter-spacing:var(--cnvs-base-letter-spacing-150);display:flex;position:relative;max-width:calc(100vw - var(--cnvs-sys-space-x8));flex-direction:column;box-shadow:var(--cnvs-sys-depth-5);min-height:var(--cnvs-sys-space-zero);padding:var(--cnvs-sys-space-x6);max-height:var(--maxHeight-popup-card-36628b);overflow-y:auto;animation-name:animation-xgsxx;animation-duration:150ms;animation-timing-function:ease-out;transform-origin:var(--transformOriginVertical-popup-card-36628b) var(--transformOriginHorizontal-popup-card-36628b);.wd-no-animation &{animation:none;}@media screen and (max-width: 768px){transform-origin:bottom center;}" }
49
49
  }, "popup-card-36628b");
50
50
  export const PopupCard = createSubcomponent('div')({
51
51
  displayName: 'Popup.Card',
@@ -7,7 +7,7 @@ import { createStencil } from '@workday/canvas-kit-styling';
7
7
  import { system } from '@workday/canvas-tokens-web';
8
8
  import { mergeStyles } from '../../layout';
9
9
  export const popupCloseIconStencil = createStencil({
10
- base: { name: "n4fo2h", styles: "box-sizing:border-box;position:absolute;inset-inline-end:var(--cnvs-sys-space-x1);top:var(--cnvs-sys-space-x1);" }
10
+ base: { name: "xgsx2h", styles: "box-sizing:border-box;position:absolute;inset-inline-end:var(--cnvs-sys-space-x1);top:var(--cnvs-sys-space-x1);" }
11
11
  }, "popup-close-icon-111273");
12
12
  export const PopupCloseIcon = createSubcomponent('button')({
13
13
  displayName: 'Popup.CloseIcon',
@@ -6,7 +6,7 @@ import { createStencil } from '@workday/canvas-kit-styling';
6
6
  import { system } from '@workday/canvas-tokens-web';
7
7
  import { mergeStyles } from '../../layout';
8
8
  export const popupHeadingStencil = createStencil({
9
- base: { name: "n4fo2g", styles: "box-sizing:border-box;margin-block-end:var(--cnvs-sys-space-x2);padding:var(--cnvs-sys-space-x2);" }
9
+ base: { name: "xgsx2g", styles: "box-sizing:border-box;margin-block-end:var(--cnvs-sys-space-x2);padding:var(--cnvs-sys-space-x2);" }
10
10
  }, "popup-heading-3e49bb");
11
11
  export const PopupHeading = createSubcomponent('h2')({
12
12
  displayName: 'Popup.Heading',