@workday/canvas-kit-preview-react 7.1.4 → 7.2.0-427-next.2

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 (541) hide show
  1. package/color-picker/README.md +1 -1
  2. package/color-picker/index.ts +1 -1
  3. package/color-picker/lib/ColorPicker.tsx +3 -4
  4. package/color-picker/package.json +2 -1
  5. package/dist/commonjs/color-picker/index.d.ts +1 -1
  6. package/dist/commonjs/color-picker/index.d.ts.map +1 -1
  7. package/dist/commonjs/color-picker/index.js +2 -6
  8. package/dist/commonjs/color-picker/lib/ColorPicker.d.ts +1 -2
  9. package/dist/commonjs/color-picker/lib/ColorPicker.d.ts.map +1 -1
  10. package/dist/commonjs/color-picker/lib/ColorPicker.js +28 -50
  11. package/dist/commonjs/color-picker/lib/parts/ColorReset.js +32 -23
  12. package/dist/commonjs/color-picker/lib/parts/SwatchBook.js +26 -39
  13. package/dist/commonjs/form-field/lib/FormField.d.ts +4 -19
  14. package/dist/commonjs/form-field/lib/FormField.d.ts.map +1 -1
  15. package/dist/commonjs/form-field/lib/FormField.js +10 -33
  16. package/dist/commonjs/form-field/lib/FormFieldHint.d.ts +1 -1
  17. package/dist/commonjs/form-field/lib/FormFieldHint.d.ts.map +1 -1
  18. package/dist/commonjs/form-field/lib/FormFieldHint.js +8 -32
  19. package/dist/commonjs/form-field/lib/FormFieldInput.d.ts +1 -1
  20. package/dist/commonjs/form-field/lib/FormFieldInput.js +6 -17
  21. package/dist/commonjs/form-field/lib/FormFieldLabel.d.ts +2 -8
  22. package/dist/commonjs/form-field/lib/FormFieldLabel.d.ts.map +1 -1
  23. package/dist/commonjs/form-field/lib/FormFieldLabel.js +10 -39
  24. package/dist/commonjs/form-field/lib/hooks/useFormFieldHint.d.ts +3 -5
  25. package/dist/commonjs/form-field/lib/hooks/useFormFieldHint.d.ts.map +1 -1
  26. package/dist/commonjs/form-field/lib/hooks/useFormFieldHint.js +4 -5
  27. package/dist/commonjs/form-field/lib/hooks/useFormFieldInput.d.ts +3 -5
  28. package/dist/commonjs/form-field/lib/hooks/useFormFieldInput.d.ts.map +1 -1
  29. package/dist/commonjs/form-field/lib/hooks/useFormFieldInput.js +5 -6
  30. package/dist/commonjs/form-field/lib/hooks/useFormFieldLabel.d.ts +3 -5
  31. package/dist/commonjs/form-field/lib/hooks/useFormFieldLabel.d.ts.map +1 -1
  32. package/dist/commonjs/form-field/lib/hooks/useFormFieldLabel.js +4 -5
  33. package/dist/commonjs/form-field/lib/hooks/useFormFieldModel.d.ts +2 -12
  34. package/dist/commonjs/form-field/lib/hooks/useFormFieldModel.d.ts.map +1 -1
  35. package/dist/commonjs/form-field/lib/hooks/useFormFieldModel.js +9 -19
  36. package/dist/commonjs/form-field/lib/hooks/useFormFieldOrientation.d.ts +4 -4
  37. package/dist/commonjs/form-field/lib/hooks/useFormFieldOrientation.d.ts.map +1 -1
  38. package/dist/commonjs/form-field/lib/hooks/useFormFieldOrientation.js +5 -5
  39. package/dist/commonjs/index.d.ts +2 -1
  40. package/dist/commonjs/index.d.ts.map +1 -1
  41. package/dist/commonjs/index.js +2 -2
  42. package/dist/commonjs/menu/index.d.ts +1 -4
  43. package/dist/commonjs/menu/index.d.ts.map +1 -1
  44. package/dist/commonjs/menu/index.js +1 -9
  45. package/dist/commonjs/menu/lib/Menu.d.ts +44 -13
  46. package/dist/commonjs/menu/lib/Menu.d.ts.map +1 -1
  47. package/dist/commonjs/menu/lib/Menu.js +127 -130
  48. package/dist/commonjs/menu/lib/MenuItem.d.ts +45 -14
  49. package/dist/commonjs/menu/lib/MenuItem.d.ts.map +1 -1
  50. package/dist/commonjs/menu/lib/MenuItem.js +118 -106
  51. package/dist/commonjs/pill/lib/Pill.d.ts +101 -13
  52. package/dist/commonjs/pill/lib/Pill.d.ts.map +1 -1
  53. package/dist/commonjs/pill/lib/Pill.js +158 -64
  54. package/dist/commonjs/pill/lib/PillAvatar.js +6 -17
  55. package/dist/commonjs/pill/lib/PillCount.js +7 -30
  56. package/dist/commonjs/pill/lib/PillIcon.js +8 -31
  57. package/dist/commonjs/pill/lib/PillIconButton.js +13 -36
  58. package/dist/commonjs/pill/lib/PillLabel.js +10 -33
  59. package/dist/commonjs/pill/lib/usePillModel.js +8 -16
  60. package/dist/commonjs/segmented-control/index.d.ts +5 -0
  61. package/dist/commonjs/segmented-control/index.d.ts.map +1 -0
  62. package/dist/commonjs/segmented-control/index.js +18 -0
  63. package/dist/commonjs/segmented-control/lib/SegmentedControl.d.ts +1189 -0
  64. package/dist/commonjs/segmented-control/lib/SegmentedControl.d.ts.map +1 -0
  65. package/dist/commonjs/segmented-control/lib/SegmentedControl.js +57 -0
  66. package/dist/commonjs/segmented-control/lib/SegmentedControlItem.d.ts +107 -0
  67. package/dist/commonjs/segmented-control/lib/SegmentedControlItem.d.ts.map +1 -0
  68. package/dist/commonjs/segmented-control/lib/SegmentedControlItem.js +105 -0
  69. package/dist/commonjs/segmented-control/lib/SegmentedControlList.d.ts +135 -0
  70. package/dist/commonjs/segmented-control/lib/SegmentedControlList.d.ts.map +1 -0
  71. package/dist/commonjs/segmented-control/lib/SegmentedControlList.js +41 -0
  72. package/dist/commonjs/segmented-control/lib/hooks/useSegmentedControlItem.d.ts +79 -0
  73. package/dist/commonjs/segmented-control/lib/hooks/useSegmentedControlItem.d.ts.map +1 -0
  74. package/dist/commonjs/segmented-control/lib/hooks/useSegmentedControlItem.js +21 -0
  75. package/dist/commonjs/segmented-control/lib/hooks/useSegmentedControlModel.d.ts +1202 -0
  76. package/dist/commonjs/segmented-control/lib/hooks/useSegmentedControlModel.d.ts.map +1 -0
  77. package/dist/commonjs/segmented-control/lib/hooks/useSegmentedControlModel.js +75 -0
  78. package/dist/commonjs/select/index.d.ts +0 -3
  79. package/dist/commonjs/select/index.d.ts.map +1 -1
  80. package/dist/commonjs/select/index.js +0 -7
  81. package/dist/commonjs/select/lib/Select.d.ts +0 -1
  82. package/dist/commonjs/select/lib/Select.d.ts.map +1 -1
  83. package/dist/commonjs/select/lib/Select.js +147 -191
  84. package/dist/commonjs/select/lib/SelectBase.d.ts +2 -2
  85. package/dist/commonjs/select/lib/SelectBase.d.ts.map +1 -1
  86. package/dist/commonjs/select/lib/SelectBase.js +109 -107
  87. package/dist/commonjs/select/lib/SelectMenu.d.ts +2 -2
  88. package/dist/commonjs/select/lib/SelectMenu.d.ts.map +1 -1
  89. package/dist/commonjs/select/lib/SelectMenu.js +55 -86
  90. package/dist/commonjs/select/lib/SelectOption.d.ts +1 -2
  91. package/dist/commonjs/select/lib/SelectOption.d.ts.map +1 -1
  92. package/dist/commonjs/select/lib/SelectOption.js +35 -48
  93. package/dist/commonjs/select/lib/scrolling.js +6 -7
  94. package/dist/commonjs/select/lib/utils.js +4 -4
  95. package/dist/commonjs/side-panel/index.d.ts +0 -3
  96. package/dist/commonjs/side-panel/index.d.ts.map +1 -1
  97. package/dist/commonjs/side-panel/index.js +0 -7
  98. package/dist/commonjs/side-panel/lib/SidePanel.d.ts +13 -27
  99. package/dist/commonjs/side-panel/lib/SidePanel.d.ts.map +1 -1
  100. package/dist/commonjs/side-panel/lib/SidePanel.js +95 -133
  101. package/dist/commonjs/side-panel/lib/SidePanelToggleButton.d.ts +17 -0
  102. package/dist/commonjs/side-panel/lib/SidePanelToggleButton.d.ts.map +1 -0
  103. package/dist/commonjs/side-panel/lib/SidePanelToggleButton.js +65 -0
  104. package/dist/commonjs/side-panel/lib/hooks.d.ts +20 -0
  105. package/dist/commonjs/side-panel/lib/hooks.d.ts.map +1 -1
  106. package/dist/commonjs/side-panel/lib/hooks.js +40 -21
  107. package/dist/commonjs/status-indicator/index.d.ts +4 -0
  108. package/dist/commonjs/status-indicator/index.d.ts.map +1 -0
  109. package/dist/commonjs/status-indicator/index.js +17 -0
  110. package/dist/commonjs/status-indicator/lib/StatusIndicator.d.ts +66 -0
  111. package/dist/commonjs/status-indicator/lib/StatusIndicator.d.ts.map +1 -0
  112. package/dist/commonjs/status-indicator/lib/StatusIndicator.js +57 -0
  113. package/dist/commonjs/status-indicator/lib/StatusIndicatorIcon.d.ts +83 -0
  114. package/dist/commonjs/status-indicator/lib/StatusIndicatorIcon.d.ts.map +1 -0
  115. package/dist/commonjs/status-indicator/lib/StatusIndicatorIcon.js +86 -0
  116. package/dist/commonjs/status-indicator/lib/StatusIndicatorLabel.d.ts +5 -0
  117. package/dist/commonjs/status-indicator/lib/StatusIndicatorLabel.d.ts.map +1 -0
  118. package/dist/commonjs/status-indicator/lib/StatusIndicatorLabel.js +15 -0
  119. package/dist/commonjs/status-indicator/lib/hooks/index.d.ts +2 -0
  120. package/dist/commonjs/status-indicator/lib/hooks/index.d.ts.map +1 -0
  121. package/dist/commonjs/{breadcrumbs → status-indicator/lib/hooks}/index.js +1 -5
  122. package/dist/commonjs/status-indicator/lib/hooks/useStatusIndicatorModel.d.ts +75 -0
  123. package/dist/commonjs/status-indicator/lib/hooks/useStatusIndicatorModel.d.ts.map +1 -0
  124. package/dist/commonjs/status-indicator/lib/hooks/useStatusIndicatorModel.js +25 -0
  125. package/dist/commonjs/table/index.d.ts +2 -0
  126. package/dist/commonjs/table/index.d.ts.map +1 -0
  127. package/dist/commonjs/{text-area/lib/hooks → table}/index.js +1 -1
  128. package/dist/commonjs/table/lib/Table.d.ts +207 -0
  129. package/dist/commonjs/table/lib/Table.d.ts.map +1 -0
  130. package/dist/commonjs/table/lib/Table.js +229 -0
  131. package/dist/commonjs/table/lib/TableBody.d.ts +2 -0
  132. package/dist/commonjs/table/lib/TableBody.d.ts.map +1 -0
  133. package/dist/commonjs/table/lib/TableBody.js +35 -0
  134. package/dist/commonjs/table/lib/TableCaption.d.ts +2 -0
  135. package/dist/commonjs/table/lib/TableCaption.d.ts.map +1 -0
  136. package/dist/commonjs/table/lib/TableCaption.js +16 -0
  137. package/dist/commonjs/table/lib/TableCell.d.ts +2 -0
  138. package/dist/commonjs/table/lib/TableCell.d.ts.map +1 -0
  139. package/dist/commonjs/table/lib/TableCell.js +16 -0
  140. package/dist/commonjs/table/lib/TableFooter.d.ts +2 -0
  141. package/dist/commonjs/table/lib/TableFooter.d.ts.map +1 -0
  142. package/dist/commonjs/table/lib/TableFooter.js +15 -0
  143. package/dist/commonjs/table/lib/TableHead.d.ts +2 -0
  144. package/dist/commonjs/table/lib/TableHead.d.ts.map +1 -0
  145. package/dist/commonjs/table/lib/TableHead.js +23 -0
  146. package/dist/commonjs/table/lib/TableHeader.d.ts +2 -0
  147. package/dist/commonjs/table/lib/TableHeader.d.ts.map +1 -0
  148. package/dist/commonjs/table/lib/TableHeader.js +16 -0
  149. package/dist/commonjs/table/lib/TableRow.d.ts +2 -0
  150. package/dist/commonjs/table/lib/TableRow.d.ts.map +1 -0
  151. package/dist/commonjs/table/lib/TableRow.js +19 -0
  152. package/dist/commonjs/text-area/lib/TextArea.d.ts +3 -12
  153. package/dist/commonjs/text-area/lib/TextArea.d.ts.map +1 -1
  154. package/dist/commonjs/text-area/lib/TextArea.js +9 -33
  155. package/dist/commonjs/text-area/lib/TextAreaField.d.ts +2 -2
  156. package/dist/commonjs/text-area/lib/TextAreaField.d.ts.map +1 -1
  157. package/dist/commonjs/text-area/lib/TextAreaField.js +25 -41
  158. package/dist/commonjs/text-input/lib/TextInput.d.ts +5 -14
  159. package/dist/commonjs/text-input/lib/TextInput.d.ts.map +1 -1
  160. package/dist/commonjs/text-input/lib/TextInput.js +9 -33
  161. package/dist/commonjs/text-input/lib/TextInputField.d.ts +2 -2
  162. package/dist/commonjs/text-input/lib/TextInputField.d.ts.map +1 -1
  163. package/dist/commonjs/text-input/lib/TextInputField.js +25 -30
  164. package/dist/commonjs/text-input/lib/hooks/useTextInputField.d.ts +3 -5
  165. package/dist/commonjs/text-input/lib/hooks/useTextInputField.d.ts.map +1 -1
  166. package/dist/commonjs/text-input/lib/hooks/useTextInputField.js +3 -3
  167. package/dist/commonjs/text-input/lib/hooks/useTextInputModel.d.ts +1 -0
  168. package/dist/commonjs/text-input/lib/hooks/useTextInputModel.d.ts.map +1 -1
  169. package/dist/commonjs/text-input/lib/hooks/useTextInputModel.js +2 -1
  170. package/dist/es6/color-picker/index.d.ts +1 -1
  171. package/dist/es6/color-picker/index.d.ts.map +1 -1
  172. package/dist/es6/color-picker/index.js +1 -1
  173. package/dist/es6/color-picker/lib/ColorPicker.d.ts +1 -2
  174. package/dist/es6/color-picker/lib/ColorPicker.d.ts.map +1 -1
  175. package/dist/es6/color-picker/lib/ColorPicker.js +17 -41
  176. package/dist/es6/color-picker/lib/parts/ColorReset.js +27 -18
  177. package/dist/es6/color-picker/lib/parts/SwatchBook.js +21 -34
  178. package/dist/es6/form-field/lib/FormField.d.ts +4 -19
  179. package/dist/es6/form-field/lib/FormField.d.ts.map +1 -1
  180. package/dist/es6/form-field/lib/FormField.js +5 -28
  181. package/dist/es6/form-field/lib/FormFieldHint.d.ts +1 -1
  182. package/dist/es6/form-field/lib/FormFieldHint.d.ts.map +1 -1
  183. package/dist/es6/form-field/lib/FormFieldHint.js +7 -31
  184. package/dist/es6/form-field/lib/FormFieldInput.d.ts +1 -1
  185. package/dist/es6/form-field/lib/FormFieldInput.js +3 -14
  186. package/dist/es6/form-field/lib/FormFieldLabel.d.ts +2 -8
  187. package/dist/es6/form-field/lib/FormFieldLabel.d.ts.map +1 -1
  188. package/dist/es6/form-field/lib/FormFieldLabel.js +9 -38
  189. package/dist/es6/form-field/lib/hooks/useFormFieldHint.d.ts +3 -5
  190. package/dist/es6/form-field/lib/hooks/useFormFieldHint.d.ts.map +1 -1
  191. package/dist/es6/form-field/lib/hooks/useFormFieldHint.js +2 -3
  192. package/dist/es6/form-field/lib/hooks/useFormFieldInput.d.ts +3 -5
  193. package/dist/es6/form-field/lib/hooks/useFormFieldInput.d.ts.map +1 -1
  194. package/dist/es6/form-field/lib/hooks/useFormFieldInput.js +3 -4
  195. package/dist/es6/form-field/lib/hooks/useFormFieldLabel.d.ts +3 -5
  196. package/dist/es6/form-field/lib/hooks/useFormFieldLabel.d.ts.map +1 -1
  197. package/dist/es6/form-field/lib/hooks/useFormFieldLabel.js +2 -3
  198. package/dist/es6/form-field/lib/hooks/useFormFieldModel.d.ts +2 -12
  199. package/dist/es6/form-field/lib/hooks/useFormFieldModel.d.ts.map +1 -1
  200. package/dist/es6/form-field/lib/hooks/useFormFieldModel.js +9 -19
  201. package/dist/es6/form-field/lib/hooks/useFormFieldOrientation.d.ts +4 -4
  202. package/dist/es6/form-field/lib/hooks/useFormFieldOrientation.d.ts.map +1 -1
  203. package/dist/es6/form-field/lib/hooks/useFormFieldOrientation.js +4 -4
  204. package/dist/es6/index.d.ts +2 -1
  205. package/dist/es6/index.d.ts.map +1 -1
  206. package/dist/es6/index.js +2 -2
  207. package/dist/es6/menu/index.d.ts +1 -4
  208. package/dist/es6/menu/index.d.ts.map +1 -1
  209. package/dist/es6/menu/index.js +1 -4
  210. package/dist/es6/menu/lib/Menu.d.ts +44 -13
  211. package/dist/es6/menu/lib/Menu.d.ts.map +1 -1
  212. package/dist/es6/menu/lib/Menu.js +120 -125
  213. package/dist/es6/menu/lib/MenuItem.d.ts +45 -14
  214. package/dist/es6/menu/lib/MenuItem.d.ts.map +1 -1
  215. package/dist/es6/menu/lib/MenuItem.js +112 -102
  216. package/dist/es6/pill/lib/Pill.d.ts +107 -19
  217. package/dist/es6/pill/lib/Pill.d.ts.map +1 -1
  218. package/dist/es6/pill/lib/Pill.js +149 -55
  219. package/dist/es6/pill/lib/PillAvatar.d.ts +1 -2
  220. package/dist/es6/pill/lib/PillAvatar.d.ts.map +1 -1
  221. package/dist/es6/pill/lib/PillAvatar.js +3 -14
  222. package/dist/es6/pill/lib/PillCount.js +4 -27
  223. package/dist/es6/pill/lib/PillIcon.d.ts +1 -2
  224. package/dist/es6/pill/lib/PillIcon.d.ts.map +1 -1
  225. package/dist/es6/pill/lib/PillIcon.js +3 -26
  226. package/dist/es6/pill/lib/PillIconButton.d.ts +1 -2
  227. package/dist/es6/pill/lib/PillIconButton.d.ts.map +1 -1
  228. package/dist/es6/pill/lib/PillIconButton.js +7 -30
  229. package/dist/es6/pill/lib/PillLabel.d.ts +1 -2
  230. package/dist/es6/pill/lib/PillLabel.d.ts.map +1 -1
  231. package/dist/es6/pill/lib/PillLabel.js +5 -28
  232. package/dist/es6/pill/lib/usePillModel.d.ts +5 -5
  233. package/dist/es6/pill/lib/usePillModel.js +8 -16
  234. package/dist/es6/segmented-control/index.d.ts +5 -0
  235. package/dist/es6/segmented-control/index.d.ts.map +1 -0
  236. package/dist/es6/segmented-control/index.js +4 -0
  237. package/dist/es6/segmented-control/lib/SegmentedControl.d.ts +1189 -0
  238. package/dist/es6/segmented-control/lib/SegmentedControl.d.ts.map +1 -0
  239. package/dist/es6/segmented-control/lib/SegmentedControl.js +51 -0
  240. package/dist/es6/segmented-control/lib/SegmentedControlItem.d.ts +107 -0
  241. package/dist/es6/segmented-control/lib/SegmentedControlItem.d.ts.map +1 -0
  242. package/dist/es6/segmented-control/lib/SegmentedControlItem.js +83 -0
  243. package/dist/es6/segmented-control/lib/SegmentedControlList.d.ts +135 -0
  244. package/dist/es6/segmented-control/lib/SegmentedControlList.d.ts.map +1 -0
  245. package/dist/es6/segmented-control/lib/SegmentedControlList.js +19 -0
  246. package/dist/es6/segmented-control/lib/hooks/useSegmentedControlItem.d.ts +79 -0
  247. package/dist/es6/segmented-control/lib/hooks/useSegmentedControlItem.d.ts.map +1 -0
  248. package/dist/es6/segmented-control/lib/hooks/useSegmentedControlItem.js +18 -0
  249. package/dist/es6/segmented-control/lib/hooks/useSegmentedControlModel.d.ts +1202 -0
  250. package/dist/es6/segmented-control/lib/hooks/useSegmentedControlModel.d.ts.map +1 -0
  251. package/dist/es6/segmented-control/lib/hooks/useSegmentedControlModel.js +69 -0
  252. package/dist/es6/select/index.d.ts +0 -3
  253. package/dist/es6/select/index.d.ts.map +1 -1
  254. package/dist/es6/select/index.js +0 -3
  255. package/dist/es6/select/lib/Select.d.ts +0 -1
  256. package/dist/es6/select/lib/Select.d.ts.map +1 -1
  257. package/dist/es6/select/lib/Select.js +145 -186
  258. package/dist/es6/select/lib/SelectBase.d.ts +2 -2
  259. package/dist/es6/select/lib/SelectBase.d.ts.map +1 -1
  260. package/dist/es6/select/lib/SelectBase.js +101 -97
  261. package/dist/es6/select/lib/SelectMenu.d.ts +2 -2
  262. package/dist/es6/select/lib/SelectMenu.d.ts.map +1 -1
  263. package/dist/es6/select/lib/SelectMenu.js +49 -81
  264. package/dist/es6/select/lib/SelectOption.d.ts +1 -2
  265. package/dist/es6/select/lib/SelectOption.d.ts.map +1 -1
  266. package/dist/es6/select/lib/SelectOption.js +30 -45
  267. package/dist/es6/select/lib/scrolling.js +6 -7
  268. package/dist/es6/select/lib/utils.js +4 -4
  269. package/dist/es6/side-panel/index.d.ts +0 -3
  270. package/dist/es6/side-panel/index.d.ts.map +1 -1
  271. package/dist/es6/side-panel/index.js +0 -3
  272. package/dist/es6/side-panel/lib/SidePanel.d.ts +13 -27
  273. package/dist/es6/side-panel/lib/SidePanel.d.ts.map +1 -1
  274. package/dist/es6/side-panel/lib/SidePanel.js +93 -131
  275. package/dist/es6/side-panel/lib/SidePanelToggleButton.d.ts +17 -0
  276. package/dist/es6/side-panel/lib/SidePanelToggleButton.d.ts.map +1 -0
  277. package/dist/es6/side-panel/lib/SidePanelToggleButton.js +43 -0
  278. package/dist/es6/side-panel/lib/hooks.d.ts +20 -0
  279. package/dist/es6/side-panel/lib/hooks.d.ts.map +1 -1
  280. package/dist/es6/side-panel/lib/hooks.js +37 -18
  281. package/dist/es6/status-indicator/index.d.ts +4 -0
  282. package/dist/es6/status-indicator/index.d.ts.map +1 -0
  283. package/dist/es6/status-indicator/index.js +3 -0
  284. package/dist/es6/status-indicator/lib/StatusIndicator.d.ts +66 -0
  285. package/dist/es6/status-indicator/lib/StatusIndicator.d.ts.map +1 -0
  286. package/dist/es6/status-indicator/lib/StatusIndicator.js +51 -0
  287. package/dist/es6/status-indicator/lib/StatusIndicatorIcon.d.ts +83 -0
  288. package/dist/es6/status-indicator/lib/StatusIndicatorIcon.d.ts.map +1 -0
  289. package/dist/es6/status-indicator/lib/StatusIndicatorIcon.js +80 -0
  290. package/dist/es6/status-indicator/lib/StatusIndicatorLabel.d.ts +5 -0
  291. package/dist/es6/status-indicator/lib/StatusIndicatorLabel.d.ts.map +1 -0
  292. package/dist/es6/status-indicator/lib/StatusIndicatorLabel.js +9 -0
  293. package/dist/es6/status-indicator/lib/hooks/index.d.ts +2 -0
  294. package/dist/es6/status-indicator/lib/hooks/index.d.ts.map +1 -0
  295. package/dist/es6/status-indicator/lib/hooks/index.js +1 -0
  296. package/dist/es6/status-indicator/lib/hooks/useStatusIndicatorModel.d.ts +75 -0
  297. package/dist/es6/status-indicator/lib/hooks/useStatusIndicatorModel.d.ts.map +1 -0
  298. package/dist/es6/status-indicator/lib/hooks/useStatusIndicatorModel.js +22 -0
  299. package/dist/es6/table/index.d.ts +2 -0
  300. package/dist/es6/table/index.d.ts.map +1 -0
  301. package/dist/es6/table/index.js +1 -0
  302. package/dist/es6/table/lib/Table.d.ts +207 -0
  303. package/dist/es6/table/lib/Table.d.ts.map +1 -0
  304. package/dist/es6/table/lib/Table.js +223 -0
  305. package/dist/es6/table/lib/TableBody.d.ts +2 -0
  306. package/dist/es6/table/lib/TableBody.d.ts.map +1 -0
  307. package/dist/es6/table/lib/TableBody.js +29 -0
  308. package/dist/es6/table/lib/TableCaption.d.ts +2 -0
  309. package/dist/es6/table/lib/TableCaption.d.ts.map +1 -0
  310. package/dist/es6/table/lib/TableCaption.js +10 -0
  311. package/dist/es6/table/lib/TableCell.d.ts +2 -0
  312. package/dist/es6/table/lib/TableCell.d.ts.map +1 -0
  313. package/dist/es6/table/lib/TableCell.js +10 -0
  314. package/dist/es6/table/lib/TableFooter.d.ts +2 -0
  315. package/dist/es6/table/lib/TableFooter.d.ts.map +1 -0
  316. package/dist/es6/table/lib/TableFooter.js +9 -0
  317. package/dist/es6/table/lib/TableHead.d.ts +2 -0
  318. package/dist/es6/table/lib/TableHead.d.ts.map +1 -0
  319. package/dist/es6/table/lib/TableHead.js +17 -0
  320. package/dist/es6/table/lib/TableHeader.d.ts +2 -0
  321. package/dist/es6/table/lib/TableHeader.d.ts.map +1 -0
  322. package/dist/es6/table/lib/TableHeader.js +10 -0
  323. package/dist/es6/table/lib/TableRow.d.ts +2 -0
  324. package/dist/es6/table/lib/TableRow.d.ts.map +1 -0
  325. package/dist/es6/table/lib/TableRow.js +13 -0
  326. package/dist/es6/text-area/lib/TextArea.d.ts +3 -12
  327. package/dist/es6/text-area/lib/TextArea.d.ts.map +1 -1
  328. package/dist/es6/text-area/lib/TextArea.js +7 -31
  329. package/dist/es6/text-area/lib/TextAreaField.d.ts +2 -2
  330. package/dist/es6/text-area/lib/TextAreaField.d.ts.map +1 -1
  331. package/dist/es6/text-area/lib/TextAreaField.js +22 -38
  332. package/dist/es6/text-input/lib/TextInput.d.ts +5 -14
  333. package/dist/es6/text-input/lib/TextInput.d.ts.map +1 -1
  334. package/dist/es6/text-input/lib/TextInput.js +7 -31
  335. package/dist/es6/text-input/lib/TextInputField.d.ts +2 -2
  336. package/dist/es6/text-input/lib/TextInputField.d.ts.map +1 -1
  337. package/dist/es6/text-input/lib/TextInputField.js +24 -29
  338. package/dist/es6/text-input/lib/hooks/useTextInputField.d.ts +3 -5
  339. package/dist/es6/text-input/lib/hooks/useTextInputField.d.ts.map +1 -1
  340. package/dist/es6/text-input/lib/hooks/useTextInputField.js +1 -1
  341. package/dist/es6/text-input/lib/hooks/useTextInputModel.d.ts +1 -0
  342. package/dist/es6/text-input/lib/hooks/useTextInputModel.d.ts.map +1 -1
  343. package/dist/es6/text-input/lib/hooks/useTextInputModel.js +2 -1
  344. package/form-field/lib/FormField.tsx +5 -10
  345. package/form-field/lib/FormFieldHint.tsx +23 -30
  346. package/form-field/lib/FormFieldLabel.tsx +18 -33
  347. package/form-field/lib/hooks/useFormFieldModel.tsx +1 -3
  348. package/form-field/lib/hooks/useFormFieldOrientation.tsx +6 -6
  349. package/form-field/package.json +2 -1
  350. package/index.ts +2 -3
  351. package/menu/index.ts +1 -6
  352. package/menu/lib/Menu.tsx +81 -27
  353. package/menu/lib/MenuItem.tsx +63 -19
  354. package/menu/package.json +2 -1
  355. package/package.json +6 -6
  356. package/pill/lib/Pill.tsx +109 -10
  357. package/pill/lib/PillCount.tsx +1 -1
  358. package/pill/lib/PillIcon.tsx +1 -1
  359. package/pill/package.json +2 -1
  360. package/segmented-control/LICENSE +126 -0
  361. package/segmented-control/README.md +6 -0
  362. package/segmented-control/index.ts +4 -0
  363. package/segmented-control/lib/SegmentedControl.tsx +57 -0
  364. package/segmented-control/lib/SegmentedControlItem.tsx +175 -0
  365. package/segmented-control/lib/SegmentedControlList.tsx +49 -0
  366. package/segmented-control/lib/hooks/useSegmentedControlItem.tsx +33 -0
  367. package/segmented-control/lib/hooks/useSegmentedControlModel.tsx +75 -0
  368. package/segmented-control/package.json +6 -0
  369. package/select/README.md +7 -7
  370. package/select/index.ts +0 -4
  371. package/select/lib/Select.tsx +1 -3
  372. package/select/lib/SelectBase.tsx +3 -5
  373. package/select/lib/SelectMenu.tsx +1 -3
  374. package/select/lib/SelectOption.tsx +1 -3
  375. package/select/package.json +2 -1
  376. package/side-panel/index.ts +0 -4
  377. package/side-panel/lib/SidePanel.tsx +119 -170
  378. package/side-panel/lib/SidePanelToggleButton.tsx +78 -0
  379. package/side-panel/lib/hooks.ts +20 -0
  380. package/side-panel/package.json +2 -1
  381. package/status-indicator/LICENSE +52 -0
  382. package/status-indicator/README.md +12 -0
  383. package/status-indicator/index.ts +3 -0
  384. package/status-indicator/lib/StatusIndicator.tsx +75 -0
  385. package/status-indicator/lib/StatusIndicatorIcon.tsx +88 -0
  386. package/status-indicator/lib/StatusIndicatorLabel.tsx +28 -0
  387. package/status-indicator/lib/hooks/index.ts +1 -0
  388. package/status-indicator/lib/hooks/useStatusIndicatorModel.tsx +29 -0
  389. package/status-indicator/package.json +6 -0
  390. package/{breadcrumbs → table}/LICENSE +0 -1
  391. package/table/README.md +5 -0
  392. package/table/index.ts +1 -0
  393. package/table/lib/Table.tsx +236 -0
  394. package/table/lib/TableBody.tsx +35 -0
  395. package/table/lib/TableCaption.tsx +22 -0
  396. package/table/lib/TableCell.tsx +27 -0
  397. package/table/lib/TableFooter.tsx +14 -0
  398. package/table/lib/TableHead.tsx +23 -0
  399. package/table/lib/TableHeader.tsx +28 -0
  400. package/table/lib/TableRow.tsx +26 -0
  401. package/table/package.json +6 -0
  402. package/text-area/lib/TextArea.tsx +9 -6
  403. package/text-area/lib/TextAreaField.tsx +7 -3
  404. package/text-area/package.json +2 -1
  405. package/text-input/lib/TextInput.tsx +9 -6
  406. package/text-input/lib/TextInputField.tsx +10 -6
  407. package/text-input/lib/hooks/useTextInputModel.ts +1 -0
  408. package/text-input/package.json +2 -1
  409. package/breadcrumbs/README.md +0 -7
  410. package/breadcrumbs/index.ts +0 -5
  411. package/breadcrumbs/lib/Breadcrumbs/Dropdown/Button.tsx +0 -85
  412. package/breadcrumbs/lib/Breadcrumbs/Dropdown/Menu.tsx +0 -152
  413. package/breadcrumbs/lib/Breadcrumbs/Dropdown/MenuItemLink.tsx +0 -63
  414. package/breadcrumbs/lib/Breadcrumbs/Dropdown/hooks.ts +0 -109
  415. package/breadcrumbs/lib/Breadcrumbs/Dropdown/index.tsx +0 -38
  416. package/breadcrumbs/lib/Breadcrumbs/List/Collapsible.tsx +0 -66
  417. package/breadcrumbs/lib/Breadcrumbs/List/CurrentItem.tsx +0 -64
  418. package/breadcrumbs/lib/Breadcrumbs/List/Link.tsx +0 -88
  419. package/breadcrumbs/lib/Breadcrumbs/List/ListItem.tsx +0 -30
  420. package/breadcrumbs/lib/Breadcrumbs/List/hooks.ts +0 -114
  421. package/breadcrumbs/lib/Breadcrumbs/List/index.tsx +0 -28
  422. package/breadcrumbs/lib/Breadcrumbs/List/styles.ts +0 -12
  423. package/breadcrumbs/lib/Breadcrumbs/Nav.tsx +0 -14
  424. package/breadcrumbs/lib/Breadcrumbs/hooks.ts +0 -13
  425. package/breadcrumbs/lib/Breadcrumbs/index.tsx +0 -15
  426. package/breadcrumbs/lib/Breadcrumbs/types.ts +0 -7
  427. package/breadcrumbs/package.json +0 -5
  428. package/dist/commonjs/breadcrumbs/index.d.ts +0 -5
  429. package/dist/commonjs/breadcrumbs/index.d.ts.map +0 -1
  430. package/dist/commonjs/breadcrumbs/lib/Breadcrumbs/Dropdown/Button.d.ts +0 -20
  431. package/dist/commonjs/breadcrumbs/lib/Breadcrumbs/Dropdown/Button.d.ts.map +0 -1
  432. package/dist/commonjs/breadcrumbs/lib/Breadcrumbs/Dropdown/Button.js +0 -69
  433. package/dist/commonjs/breadcrumbs/lib/Breadcrumbs/Dropdown/Menu.d.ts +0 -38
  434. package/dist/commonjs/breadcrumbs/lib/Breadcrumbs/Dropdown/Menu.d.ts.map +0 -1
  435. package/dist/commonjs/breadcrumbs/lib/Breadcrumbs/Dropdown/Menu.js +0 -94
  436. package/dist/commonjs/breadcrumbs/lib/Breadcrumbs/Dropdown/MenuItemLink.d.ts +0 -14
  437. package/dist/commonjs/breadcrumbs/lib/Breadcrumbs/Dropdown/MenuItemLink.d.ts.map +0 -1
  438. package/dist/commonjs/breadcrumbs/lib/Breadcrumbs/Dropdown/MenuItemLink.js +0 -73
  439. package/dist/commonjs/breadcrumbs/lib/Breadcrumbs/Dropdown/hooks.d.ts +0 -13
  440. package/dist/commonjs/breadcrumbs/lib/Breadcrumbs/Dropdown/hooks.d.ts.map +0 -1
  441. package/dist/commonjs/breadcrumbs/lib/Breadcrumbs/Dropdown/hooks.js +0 -77
  442. package/dist/commonjs/breadcrumbs/lib/Breadcrumbs/Dropdown/index.d.ts +0 -8
  443. package/dist/commonjs/breadcrumbs/lib/Breadcrumbs/Dropdown/index.d.ts.map +0 -1
  444. package/dist/commonjs/breadcrumbs/lib/Breadcrumbs/Dropdown/index.js +0 -37
  445. package/dist/commonjs/breadcrumbs/lib/Breadcrumbs/List/Collapsible.d.ts +0 -16
  446. package/dist/commonjs/breadcrumbs/lib/Breadcrumbs/List/Collapsible.d.ts.map +0 -1
  447. package/dist/commonjs/breadcrumbs/lib/Breadcrumbs/List/Collapsible.js +0 -78
  448. package/dist/commonjs/breadcrumbs/lib/Breadcrumbs/List/CurrentItem.d.ts +0 -11
  449. package/dist/commonjs/breadcrumbs/lib/Breadcrumbs/List/CurrentItem.d.ts.map +0 -1
  450. package/dist/commonjs/breadcrumbs/lib/Breadcrumbs/List/CurrentItem.js +0 -49
  451. package/dist/commonjs/breadcrumbs/lib/Breadcrumbs/List/Link.d.ts +0 -19
  452. package/dist/commonjs/breadcrumbs/lib/Breadcrumbs/List/Link.d.ts.map +0 -1
  453. package/dist/commonjs/breadcrumbs/lib/Breadcrumbs/List/Link.js +0 -66
  454. package/dist/commonjs/breadcrumbs/lib/Breadcrumbs/List/ListItem.d.ts +0 -4
  455. package/dist/commonjs/breadcrumbs/lib/Breadcrumbs/List/ListItem.d.ts.map +0 -1
  456. package/dist/commonjs/breadcrumbs/lib/Breadcrumbs/List/ListItem.js +0 -43
  457. package/dist/commonjs/breadcrumbs/lib/Breadcrumbs/List/hooks.d.ts +0 -19
  458. package/dist/commonjs/breadcrumbs/lib/Breadcrumbs/List/hooks.d.ts.map +0 -1
  459. package/dist/commonjs/breadcrumbs/lib/Breadcrumbs/List/hooks.js +0 -116
  460. package/dist/commonjs/breadcrumbs/lib/Breadcrumbs/List/index.d.ts +0 -4
  461. package/dist/commonjs/breadcrumbs/lib/Breadcrumbs/List/index.d.ts.map +0 -1
  462. package/dist/commonjs/breadcrumbs/lib/Breadcrumbs/List/index.js +0 -38
  463. package/dist/commonjs/breadcrumbs/lib/Breadcrumbs/List/styles.d.ts +0 -3
  464. package/dist/commonjs/breadcrumbs/lib/Breadcrumbs/List/styles.d.ts.map +0 -1
  465. package/dist/commonjs/breadcrumbs/lib/Breadcrumbs/List/styles.js +0 -16
  466. package/dist/commonjs/breadcrumbs/lib/Breadcrumbs/Nav.d.ts +0 -11
  467. package/dist/commonjs/breadcrumbs/lib/Breadcrumbs/Nav.d.ts.map +0 -1
  468. package/dist/commonjs/breadcrumbs/lib/Breadcrumbs/Nav.js +0 -34
  469. package/dist/commonjs/breadcrumbs/lib/Breadcrumbs/hooks.d.ts +0 -5
  470. package/dist/commonjs/breadcrumbs/lib/Breadcrumbs/hooks.d.ts.map +0 -1
  471. package/dist/commonjs/breadcrumbs/lib/Breadcrumbs/hooks.js +0 -12
  472. package/dist/commonjs/breadcrumbs/lib/Breadcrumbs/index.d.ts +0 -9
  473. package/dist/commonjs/breadcrumbs/lib/Breadcrumbs/index.d.ts.map +0 -1
  474. package/dist/commonjs/breadcrumbs/lib/Breadcrumbs/index.js +0 -17
  475. package/dist/commonjs/breadcrumbs/lib/Breadcrumbs/types.d.ts +0 -8
  476. package/dist/commonjs/breadcrumbs/lib/Breadcrumbs/types.d.ts.map +0 -1
  477. package/dist/commonjs/breadcrumbs/lib/Breadcrumbs/types.js +0 -2
  478. package/dist/commonjs/text-area/lib/hooks/index.d.ts +0 -2
  479. package/dist/commonjs/text-area/lib/hooks/index.d.ts.map +0 -1
  480. package/dist/commonjs/text-area/lib/hooks/useTextAreaModel.d.ts +0 -28
  481. package/dist/commonjs/text-area/lib/hooks/useTextAreaModel.d.ts.map +0 -1
  482. package/dist/commonjs/text-area/lib/hooks/useTextAreaModel.js +0 -5
  483. package/dist/es6/breadcrumbs/index.d.ts +0 -5
  484. package/dist/es6/breadcrumbs/index.d.ts.map +0 -1
  485. package/dist/es6/breadcrumbs/index.js +0 -4
  486. package/dist/es6/breadcrumbs/lib/Breadcrumbs/Dropdown/Button.d.ts +0 -20
  487. package/dist/es6/breadcrumbs/lib/Breadcrumbs/Dropdown/Button.d.ts.map +0 -1
  488. package/dist/es6/breadcrumbs/lib/Breadcrumbs/Dropdown/Button.js +0 -63
  489. package/dist/es6/breadcrumbs/lib/Breadcrumbs/Dropdown/Menu.d.ts +0 -38
  490. package/dist/es6/breadcrumbs/lib/Breadcrumbs/Dropdown/Menu.d.ts.map +0 -1
  491. package/dist/es6/breadcrumbs/lib/Breadcrumbs/Dropdown/Menu.js +0 -87
  492. package/dist/es6/breadcrumbs/lib/Breadcrumbs/Dropdown/MenuItemLink.d.ts +0 -14
  493. package/dist/es6/breadcrumbs/lib/Breadcrumbs/Dropdown/MenuItemLink.d.ts.map +0 -1
  494. package/dist/es6/breadcrumbs/lib/Breadcrumbs/Dropdown/MenuItemLink.js +0 -51
  495. package/dist/es6/breadcrumbs/lib/Breadcrumbs/Dropdown/hooks.d.ts +0 -13
  496. package/dist/es6/breadcrumbs/lib/Breadcrumbs/Dropdown/hooks.d.ts.map +0 -1
  497. package/dist/es6/breadcrumbs/lib/Breadcrumbs/Dropdown/hooks.js +0 -72
  498. package/dist/es6/breadcrumbs/lib/Breadcrumbs/Dropdown/index.d.ts +0 -8
  499. package/dist/es6/breadcrumbs/lib/Breadcrumbs/Dropdown/index.d.ts.map +0 -1
  500. package/dist/es6/breadcrumbs/lib/Breadcrumbs/Dropdown/index.js +0 -30
  501. package/dist/es6/breadcrumbs/lib/Breadcrumbs/List/Collapsible.d.ts +0 -16
  502. package/dist/es6/breadcrumbs/lib/Breadcrumbs/List/Collapsible.d.ts.map +0 -1
  503. package/dist/es6/breadcrumbs/lib/Breadcrumbs/List/Collapsible.js +0 -55
  504. package/dist/es6/breadcrumbs/lib/Breadcrumbs/List/CurrentItem.d.ts +0 -11
  505. package/dist/es6/breadcrumbs/lib/Breadcrumbs/List/CurrentItem.d.ts.map +0 -1
  506. package/dist/es6/breadcrumbs/lib/Breadcrumbs/List/CurrentItem.js +0 -42
  507. package/dist/es6/breadcrumbs/lib/Breadcrumbs/List/Link.d.ts +0 -19
  508. package/dist/es6/breadcrumbs/lib/Breadcrumbs/List/Link.d.ts.map +0 -1
  509. package/dist/es6/breadcrumbs/lib/Breadcrumbs/List/Link.js +0 -59
  510. package/dist/es6/breadcrumbs/lib/Breadcrumbs/List/ListItem.d.ts +0 -4
  511. package/dist/es6/breadcrumbs/lib/Breadcrumbs/List/ListItem.d.ts.map +0 -1
  512. package/dist/es6/breadcrumbs/lib/Breadcrumbs/List/ListItem.js +0 -36
  513. package/dist/es6/breadcrumbs/lib/Breadcrumbs/List/hooks.d.ts +0 -19
  514. package/dist/es6/breadcrumbs/lib/Breadcrumbs/List/hooks.d.ts.map +0 -1
  515. package/dist/es6/breadcrumbs/lib/Breadcrumbs/List/hooks.js +0 -91
  516. package/dist/es6/breadcrumbs/lib/Breadcrumbs/List/index.d.ts +0 -4
  517. package/dist/es6/breadcrumbs/lib/Breadcrumbs/List/index.d.ts.map +0 -1
  518. package/dist/es6/breadcrumbs/lib/Breadcrumbs/List/index.js +0 -32
  519. package/dist/es6/breadcrumbs/lib/Breadcrumbs/List/styles.d.ts +0 -3
  520. package/dist/es6/breadcrumbs/lib/Breadcrumbs/List/styles.d.ts.map +0 -1
  521. package/dist/es6/breadcrumbs/lib/Breadcrumbs/List/styles.js +0 -12
  522. package/dist/es6/breadcrumbs/lib/Breadcrumbs/Nav.d.ts +0 -11
  523. package/dist/es6/breadcrumbs/lib/Breadcrumbs/Nav.d.ts.map +0 -1
  524. package/dist/es6/breadcrumbs/lib/Breadcrumbs/Nav.js +0 -27
  525. package/dist/es6/breadcrumbs/lib/Breadcrumbs/hooks.d.ts +0 -5
  526. package/dist/es6/breadcrumbs/lib/Breadcrumbs/hooks.d.ts.map +0 -1
  527. package/dist/es6/breadcrumbs/lib/Breadcrumbs/hooks.js +0 -8
  528. package/dist/es6/breadcrumbs/lib/Breadcrumbs/index.d.ts +0 -9
  529. package/dist/es6/breadcrumbs/lib/Breadcrumbs/index.d.ts.map +0 -1
  530. package/dist/es6/breadcrumbs/lib/Breadcrumbs/index.js +0 -14
  531. package/dist/es6/breadcrumbs/lib/Breadcrumbs/types.d.ts +0 -8
  532. package/dist/es6/breadcrumbs/lib/Breadcrumbs/types.d.ts.map +0 -1
  533. package/dist/es6/breadcrumbs/lib/Breadcrumbs/types.js +0 -1
  534. package/dist/es6/text-area/lib/hooks/index.d.ts +0 -2
  535. package/dist/es6/text-area/lib/hooks/index.d.ts.map +0 -1
  536. package/dist/es6/text-area/lib/hooks/index.js +0 -1
  537. package/dist/es6/text-area/lib/hooks/useTextAreaModel.d.ts +0 -28
  538. package/dist/es6/text-area/lib/hooks/useTextAreaModel.d.ts.map +0 -1
  539. package/dist/es6/text-area/lib/hooks/useTextAreaModel.js +0 -2
  540. package/text-area/lib/hooks/index.ts +0 -1
  541. package/text-area/lib/hooks/useTextAreaModel.ts +0 -3
@@ -0,0 +1,75 @@
1
+ import React from 'react';
2
+ import {createModelHook} from '@workday/canvas-kit-react/common';
3
+ import {defaultGetId, useListModel} from '@workday/canvas-kit-react/collection';
4
+
5
+ export const useSegmentedControlModel = createModelHook({
6
+ defaultConfig: {
7
+ ...useListModel.defaultConfig,
8
+ /**
9
+ * Optional id for the whole `SegmentedControl` group. If not provided, a unique id will be created.
10
+ * @default useUniqueId()
11
+ */
12
+ id: '',
13
+ /**
14
+ * An initially selected value. This value must match the `data-id` of the `SegmentedControl.Item` component.
15
+ * If not provided, the first value will be selected.
16
+ */
17
+ initialValue: '',
18
+ /**
19
+ * Sets disabled state for all segmented control buttons
20
+ * @default false
21
+ */
22
+ disabled: false,
23
+ /**
24
+ * Sets the size of the segmented control container and its buttons. Can be `small`, `medium` or `large`.
25
+ * @default 'medium'
26
+ */
27
+ size: 'medium' as 'small' | 'medium' | 'large',
28
+ /**
29
+ * The SegmentedControl can rendered in a horizontal or vertical orientation.
30
+ * We suggest to use the `vertical` orientation only for icon only variant.
31
+ * @default 'horizontal'
32
+ */
33
+ orientation: 'horizontal' as typeof useListModel.defaultConfig.orientation,
34
+ },
35
+ requiredConfig: useListModel.requiredConfig,
36
+ })(config => {
37
+ const getId = config.getId || defaultGetId;
38
+ const initialSelectedRef = React.useRef(config.initialValue);
39
+ const items = config.items;
40
+
41
+ const model = useListModel(
42
+ useListModel.mergeConfig(config, {
43
+ orientation: config.orientation || 'horizontal',
44
+ items,
45
+ onRegisterItem(data) {
46
+ if (!initialSelectedRef.current) {
47
+ initialSelectedRef.current = getId(data.item);
48
+ events.select({id: initialSelectedRef.current});
49
+ }
50
+ },
51
+ initialSelectedIds: config.initialValue
52
+ ? [config.initialValue]
53
+ : config.items?.length
54
+ ? [getId(config.items![0])]
55
+ : [],
56
+ shouldVirtualize: false,
57
+ })
58
+ );
59
+
60
+ const state = {
61
+ ...model.state,
62
+ disabled: config.disabled,
63
+ size: config.size,
64
+ };
65
+
66
+ const events = {
67
+ ...model.events,
68
+ };
69
+
70
+ return {
71
+ ...model,
72
+ state,
73
+ events,
74
+ };
75
+ });
@@ -0,0 +1,6 @@
1
+ {
2
+ "main": "../dist/commonjs/segmented-control",
3
+ "module": "../dist/es6/segmented-control",
4
+ "sideEffects": false,
5
+ "types": "../dist/es6/segmented-control"
6
+ }
package/select/README.md CHANGED
@@ -34,7 +34,7 @@ fully accessible (see below).
34
34
 
35
35
  ```tsx
36
36
  import * as React from 'react';
37
- import Select from '@workday/canvas-kit-preview-react/select';
37
+ import {Select} from '@workday/canvas-kit-preview-react/select';
38
38
 
39
39
  function Example() {
40
40
  const options = [
@@ -58,8 +58,8 @@ function Example() {
58
58
 
59
59
  ```tsx
60
60
  import * as React from 'react';
61
- import Select from '@workday/canvas-kit-preview-react/select';
62
- import FormField from '@workday/canvas-kit-react/form-field';
61
+ import {Select} from '@workday/canvas-kit-preview-react/select';
62
+ import {FormField} from '@workday/canvas-kit-react/form-field';
63
63
 
64
64
  function Example() {
65
65
  const options = [
@@ -89,8 +89,8 @@ function Example() {
89
89
 
90
90
  ```tsx
91
91
  import * as React from 'react';
92
- import Select from '@workday/canvas-kit-preview-react/select';
93
- import FormField from '@workday/canvas-kit-react/form-field';
92
+ import {Select} from '@workday/canvas-kit-preview-react/select';
93
+ import {FormField} from '@workday/canvas-kit-react/form-field';
94
94
 
95
95
  function Example() {
96
96
  const options = ['California', 'Florida', 'New York', 'Pennsylvania', 'Texas'];
@@ -117,8 +117,8 @@ used to customize how each option is rendered.
117
117
 
118
118
  ```tsx
119
119
  import * as React from 'react';
120
- import Select from '@workday/canvas-kit-preview-react/select';
121
- import FormField from '@workday/canvas-kit-react/form-field';
120
+ import {Select} from '@workday/canvas-kit-preview-react/select';
121
+ import {FormField} from '@workday/canvas-kit-react/form-field';
122
122
  import {colors, typeColors} from '@workday/canvas-kit-react/tokens';
123
123
  import {
124
124
  activityStreamIcon,
package/select/index.ts CHANGED
@@ -1,7 +1,3 @@
1
- import Select from './lib/Select';
2
-
3
- export default Select;
4
- export {Select};
5
1
  export * from './lib/Select';
6
2
 
7
3
  export {
@@ -7,7 +7,7 @@ import {
7
7
  generateUniqueId,
8
8
  } from '@workday/canvas-kit-react/common';
9
9
  import {menuAnimationDuration} from './SelectMenu';
10
- import SelectBase, {CoreSelectBaseProps, Option, NormalizedOption} from './SelectBase';
10
+ import {SelectBase, CoreSelectBaseProps, Option, NormalizedOption} from './SelectBase';
11
11
  import {MenuVisibility} from './types';
12
12
  import {getCorrectedIndexByValue} from './utils';
13
13
 
@@ -587,5 +587,3 @@ export const Select = createComponent('button')({
587
587
  ErrorType,
588
588
  },
589
589
  });
590
-
591
- export default Select;
@@ -20,8 +20,8 @@ import {
20
20
  import {caretDownSmallIcon} from '@workday/canvas-system-icons-web';
21
21
  import {SystemIcon} from '@workday/canvas-kit-react/icon';
22
22
 
23
- import SelectMenu from './SelectMenu';
24
- import SelectOption from './SelectOption';
23
+ import {SelectMenu} from './SelectMenu';
24
+ import {SelectOption} from './SelectOption';
25
25
  import {scrollIntoViewIfNeeded} from './scrolling';
26
26
  import {MenuPlacement, MenuVisibility} from './types';
27
27
  import {getCorrectedIndexByValue} from './utils';
@@ -288,7 +288,7 @@ const defaultRenderSelected: RenderSelectedFunction = option => {
288
288
  return option.label;
289
289
  };
290
290
 
291
- const SelectBase = ({
291
+ export const SelectBase = ({
292
292
  'aria-labelledby': ariaLabelledBy,
293
293
  'aria-required': ariaRequired,
294
294
  as,
@@ -475,5 +475,3 @@ const SelectBase = ({
475
475
  </SelectWrapper>
476
476
  );
477
477
  };
478
-
479
- export default SelectBase;
@@ -223,7 +223,7 @@ const generatePopperOptions = (
223
223
  };
224
224
  };
225
225
 
226
- const SelectMenu = ({
226
+ export const SelectMenu = ({
227
227
  buttonRef,
228
228
  children,
229
229
  error,
@@ -294,5 +294,3 @@ const SelectMenu = ({
294
294
  </Popper>
295
295
  );
296
296
  };
297
-
298
- export default SelectMenu;
@@ -105,7 +105,7 @@ const Option = styled('li')<SelectOptionProps>(
105
105
  })
106
106
  );
107
107
 
108
- const SelectOption = ({
108
+ export const SelectOption = ({
109
109
  children,
110
110
  focused = false,
111
111
  interactive = true,
@@ -126,5 +126,3 @@ const SelectOption = ({
126
126
  </Option>
127
127
  );
128
128
  };
129
-
130
- export default SelectOption;
@@ -1,5 +1,6 @@
1
1
  {
2
2
  "main": "../dist/commonjs/select",
3
3
  "module": "../dist/es6/select",
4
- "sideEffects": false
4
+ "sideEffects": false,
5
+ "types": "../dist/es6/select"
5
6
  }
@@ -1,6 +1,2 @@
1
- import SidePanel from './lib/SidePanel';
2
-
3
- export default SidePanel;
4
- export {SidePanel};
5
1
  export * from './lib/hooks';
6
2
  export * from './lib/SidePanel';
@@ -1,23 +1,16 @@
1
1
  /** @jsxRuntime classic */
2
2
  /** @jsx jsx */
3
3
  import * as React from 'react';
4
- import {styled, useIsRTL} from '@workday/canvas-kit-react/common';
5
- import {css, jsx, keyframes, CSSObject} from '@emotion/react';
6
- import {TertiaryButton, TertiaryButtonProps} from '@workday/canvas-kit-react/button';
7
- import {space, colors, depth} from '@workday/canvas-kit-react/tokens';
8
- import {transformationImportIcon} from '@workday/canvas-system-icons-web';
9
- import {Tooltip} from '@workday/canvas-kit-react/tooltip';
4
+ import {createComponent, styled} from '@workday/canvas-kit-react/common';
5
+ import {jsx, keyframes, CSSObject} from '@emotion/react';
6
+ import {colors, depth} from '@workday/canvas-kit-react/tokens';
7
+ import {SidePanelContext} from './hooks';
8
+ import {SidePanelToggleButton} from './SidePanelToggleButton';
10
9
 
11
10
  export type SidePanelVariant = 'standard' | 'alternate';
12
11
  export type SidePanelTransitionStates = 'collapsed' | 'collapsing' | 'expanded' | 'expanding';
13
12
 
14
- export interface SidePanelProps extends React.HTMLAttributes<HTMLDivElement> {
15
- /**
16
- * The element the side panel will render as (e.g. 'div').
17
- *
18
- * @default 'section'
19
- */
20
- as?: React.ElementType;
13
+ export interface SidePanelProps {
21
14
  /**
22
15
  * The width of the component (in `px` if it's a `number`) when it is collapsed.
23
16
  *
@@ -67,6 +60,9 @@ export interface SidePanelProps extends React.HTMLAttributes<HTMLDivElement> {
67
60
  * @param boolean
68
61
  */
69
62
  touched: boolean;
63
+ children?: React.ReactNode;
64
+ onAnimationStart?: React.AnimationEventHandler<HTMLElement>;
65
+ onAnimationEnd?: React.AnimationEventHandler<HTMLElement>;
70
66
  }
71
67
 
72
68
  const createKeyframes = (from: number | string, to: number | string) => {
@@ -98,173 +94,126 @@ const containerVariantStyle: Record<SidePanelVariant, CSSObject> = {
98
94
  },
99
95
  };
100
96
 
101
- const Panel = styled('section')<Pick<SidePanelProps, 'as'>>({
97
+ const Panel = styled('section')({
102
98
  overflow: 'hidden',
103
99
  position: 'relative',
104
100
  boxSizing: 'border-box',
105
101
  height: '100%',
106
102
  });
107
103
 
108
- export const SidePanelContext = React.createContext({
109
- state: 'expanded',
110
- origin: 'left',
111
- });
112
-
113
- const SidePanel = ({
114
- as = 'section',
115
- children,
116
- collapsedWidth = 64,
117
- expanded = true,
118
- expandedWidth = 320,
119
- onAnimationEnd,
120
- onAnimationStart,
121
- onExpandedChange,
122
- onStateTransition,
123
- origin = 'left',
124
- variant = 'standard',
125
- touched,
126
- ...elemProps
127
- }: SidePanelProps) => {
128
- const [state, setState] = React.useState<SidePanelTransitionStates>(
129
- expanded ? 'expanded' : 'collapsed'
130
- );
131
-
132
- React.useEffect(() => {
133
- if (typeof onExpandedChange !== 'undefined') {
134
- onExpandedChange(expanded);
135
- }
136
- }, [expanded, onExpandedChange]);
137
-
138
- React.useEffect(() => {
139
- if (typeof onStateTransition !== 'undefined') {
140
- onStateTransition(state);
141
- }
142
- }, [state, onStateTransition]);
143
-
144
- const motion = {
145
- collapse: createKeyframes(expandedWidth, collapsedWidth),
146
- expand: createKeyframes(collapsedWidth, expandedWidth),
147
- };
148
-
149
- const handleAnimationEnd = (event: React.AnimationEvent<HTMLDivElement>) => {
150
- if (event.currentTarget === event.target) {
151
- if (event.animationName === motion.collapse.name) {
152
- setState('collapsed');
104
+ export const SidePanel = createComponent('section')({
105
+ displayName: 'SidePanel',
106
+ Component(
107
+ {
108
+ children,
109
+ collapsedWidth = 64,
110
+ expanded = true,
111
+ expandedWidth = 320,
112
+ onAnimationEnd,
113
+ onAnimationStart,
114
+ onExpandedChange,
115
+ onStateTransition,
116
+ origin = 'left',
117
+ variant = 'standard',
118
+ touched,
119
+ ...elemProps
120
+ }: SidePanelProps,
121
+ ref,
122
+ Element
123
+ ) {
124
+ const [state, setState] = React.useState<SidePanelTransitionStates>(
125
+ expanded ? 'expanded' : 'collapsed'
126
+ );
127
+
128
+ React.useEffect(() => {
129
+ if (typeof onExpandedChange !== 'undefined') {
130
+ onExpandedChange(expanded);
153
131
  }
132
+ }, [expanded, onExpandedChange]);
154
133
 
155
- if (event.animationName === motion.expand.name) {
156
- setState('expanded');
134
+ React.useEffect(() => {
135
+ if (typeof onStateTransition !== 'undefined') {
136
+ onStateTransition(state);
157
137
  }
158
- }
159
-
160
- if (typeof onAnimationEnd !== 'undefined') {
161
- onAnimationEnd(event);
162
- }
163
- };
164
-
165
- const handleAnimationStart = (event: React.AnimationEvent<HTMLDivElement>) => {
166
- if (event.currentTarget === event.target) {
167
- if (
168
- event.animationName === motion.collapse.name ||
169
- event.animationName === motion.expand.name
170
- ) {
171
- setState(expanded ? 'expanding' : 'collapsing');
138
+ }, [state, onStateTransition]);
139
+
140
+ const motion = {
141
+ collapse: createKeyframes(expandedWidth, collapsedWidth),
142
+ expand: createKeyframes(collapsedWidth, expandedWidth),
143
+ };
144
+
145
+ const handleAnimationEnd = (event: React.AnimationEvent<HTMLDivElement>) => {
146
+ if (event.currentTarget === event.target) {
147
+ if (event.animationName === motion.collapse.name) {
148
+ setState('collapsed');
149
+ }
150
+
151
+ if (event.animationName === motion.expand.name) {
152
+ setState('expanded');
153
+ }
172
154
  }
173
- }
174
155
 
175
- if (typeof onAnimationStart !== 'undefined') {
176
- onAnimationStart(event);
177
- }
178
- };
156
+ if (typeof onAnimationEnd !== 'undefined') {
157
+ onAnimationEnd(event);
158
+ }
159
+ };
160
+
161
+ const handleAnimationStart = (event: React.AnimationEvent<HTMLDivElement>) => {
162
+ if (event.currentTarget === event.target) {
163
+ if (
164
+ event.animationName === motion.collapse.name ||
165
+ event.animationName === motion.expand.name
166
+ ) {
167
+ setState(expanded ? 'expanding' : 'collapsing');
168
+ }
169
+ }
179
170
 
180
- return (
181
- <Panel
182
- as={as}
183
- css={[
184
- {
185
- width: expanded ? expandedWidth : collapsedWidth,
186
- maxWidth: expanded ? expandedWidth : collapsedWidth,
187
- // mounted.current will be false on the first render, thus you won't get an unwanted animation here
188
- // Will animate again if you force a re-render (like in Storybook)
189
- animation: touched
190
- ? `${expanded ? motion.expand : motion.collapse} 200ms ease-out`
191
- : undefined,
192
- },
193
- containerVariantStyle[variant],
194
- ]}
195
- onAnimationEnd={handleAnimationEnd}
196
- onAnimationStart={handleAnimationStart}
197
- {...elemProps}
198
- >
199
- <SidePanelContext.Provider
200
- value={{
201
- state,
202
- origin,
203
- }}
171
+ if (typeof onAnimationStart !== 'undefined') {
172
+ onAnimationStart(event);
173
+ }
174
+ };
175
+
176
+ return (
177
+ <Panel
178
+ ref={ref}
179
+ as={Element}
180
+ css={[
181
+ {
182
+ width: expanded ? expandedWidth : collapsedWidth,
183
+ maxWidth: expanded ? expandedWidth : collapsedWidth,
184
+ // mounted.current will be false on the first render, thus you won't get an unwanted animation here
185
+ // Will animate again if you force a re-render (like in Storybook)
186
+ animation: touched
187
+ ? `${expanded ? motion.expand : motion.collapse} 200ms ease-out`
188
+ : undefined,
189
+ },
190
+ containerVariantStyle[variant],
191
+ ]}
192
+ onAnimationEnd={handleAnimationEnd}
193
+ onAnimationStart={handleAnimationStart}
194
+ {...elemProps}
204
195
  >
205
- {children}
206
- </SidePanelContext.Provider>
207
- </Panel>
208
- );
209
- };
210
-
211
- export type ToggleButtonProps = TertiaryButtonProps & {
212
- /**
213
- * The tooltip text to expand the side panel
214
- * @default 'Expand'
215
- */
216
- tooltipTextExpand?: string;
217
- /**
218
- * The tooltip text to collapse the side panel
219
- * @default 'Collapse'
220
- */
221
- tooltipTextCollapse?: string;
222
- };
223
-
224
- /**
225
- * A toggle button styled specifically for the side panel container.
226
- */
227
- const ToggleButton = ({
228
- variant = undefined,
229
- icon = transformationImportIcon,
230
- tooltipTextExpand: expandLabel = 'Expand',
231
- tooltipTextCollapse: collapseLabel = 'Collapse',
232
- ...rest
233
- }: ToggleButtonProps & React.ButtonHTMLAttributes<HTMLButtonElement>) => {
234
- const context = React.useContext(SidePanelContext);
235
-
236
- const useRTLOrigin = () => {
237
- const isRTL = useIsRTL();
238
- // if the direction is set to RTl, flip the origin
239
- if (isRTL) {
240
- return context.origin === 'left' ? 'right' : 'left';
241
- }
242
- // Otherwise, default to returning the origin
243
- return context.origin;
244
- };
245
-
246
- const rtlOrigin = useRTLOrigin();
247
-
248
- // Note: Depending on the collapsed width, the button could "jump" to it's final position.
249
- const buttonStyle = css({
250
- position: 'absolute',
251
- top: space.m,
252
- width: space.l,
253
- right: context.state === 'collapsed' ? 0 : rtlOrigin === 'left' ? space.s : undefined,
254
- left: context.state === 'collapsed' ? 0 : rtlOrigin === 'right' ? space.s : undefined,
255
- margin: context.state === 'collapsed' ? 'auto' : 0, // to override the -8px margin for TertiaryButton.Plain
256
- transform:
257
- context.state === 'collapsed' || context.state === 'collapsing'
258
- ? `scaleX(${rtlOrigin === 'left' ? '1' : '-1'})`
259
- : `scaleX(${rtlOrigin === 'left' ? '-1' : '1'})`,
260
- });
261
-
262
- return (
263
- <Tooltip title={context.state === 'collapsed' ? expandLabel : collapseLabel} type="muted">
264
- <TertiaryButton type="button" css={buttonStyle} icon={icon} variant={variant} {...rest} />
265
- </Tooltip>
266
- );
267
- };
268
-
269
- SidePanel.ToggleButton = ToggleButton;
270
- export default SidePanel;
196
+ <SidePanelContext.Provider
197
+ value={{
198
+ state,
199
+ origin,
200
+ }}
201
+ >
202
+ {children}
203
+ </SidePanelContext.Provider>
204
+ </Panel>
205
+ );
206
+ },
207
+ subComponents: {
208
+ /**
209
+ * `SidePanel.ToggleButton` is a control that is meant to toggle between `expanded = true` and
210
+ * `expanded = false` states. It must be used within the `SidePanel` component as a child. Use
211
+ * in conjunction with `useSidePanel`'s `controlProps`, otherwise it does not come with explicit
212
+ * `onClick` handlers.
213
+ *
214
+ * For accessibility purposes, it must be the first focusable element. We recommend that you
215
+ * keep it as the first child of `SidePanel`
216
+ */
217
+ ToggleButton: SidePanelToggleButton,
218
+ },
219
+ });
@@ -0,0 +1,78 @@
1
+ /** @jsxRuntime classic */
2
+ /** @jsx jsx */
3
+ import * as React from 'react';
4
+ import {createComponent, ExtractProps, useIsRTL} from '@workday/canvas-kit-react/common';
5
+ import {css, jsx} from '@emotion/react';
6
+ import {TertiaryButton} from '@workday/canvas-kit-react/button';
7
+ import {space} from '@workday/canvas-kit-react/tokens';
8
+ import {transformationImportIcon} from '@workday/canvas-system-icons-web';
9
+ import {Tooltip} from '@workday/canvas-kit-react/tooltip';
10
+ import {SidePanelContext} from './hooks';
11
+
12
+ export interface SidePanelToggleButtonProps extends ExtractProps<typeof TertiaryButton, never> {
13
+ /**
14
+ * The tooltip text to expand the side panel
15
+ */
16
+ tooltipTextExpand?: string;
17
+ /**
18
+ * The tooltip text to collapse the side panel
19
+ */
20
+ tooltipTextCollapse?: string;
21
+ }
22
+
23
+ /**
24
+ * A toggle button styled specifically for the side panel container.
25
+ */
26
+ export const SidePanelToggleButton = createComponent('button')({
27
+ displayName: 'SidePanel.ToggleButton',
28
+ Component({
29
+ variant = undefined,
30
+ icon = transformationImportIcon,
31
+ tooltipTextExpand = 'Expand',
32
+ tooltipTextCollapse = 'Collapse',
33
+ ...elemProps
34
+ }: SidePanelToggleButtonProps) {
35
+ const context = React.useContext(SidePanelContext);
36
+
37
+ const useRTLOrigin = () => {
38
+ const isRTL = useIsRTL();
39
+ // if the direction is set to RTl, flip the origin
40
+ if (isRTL) {
41
+ return context.origin === 'left' ? 'right' : 'left';
42
+ }
43
+ // Otherwise, default to returning the origin
44
+ return context.origin;
45
+ };
46
+
47
+ const rtlOrigin = useRTLOrigin();
48
+
49
+ // Note: Depending on the collapsed width, the button could "jump" to it's final position.
50
+ const buttonStyle = css({
51
+ position: 'absolute',
52
+ top: space.m,
53
+ width: space.l,
54
+ right: context.state === 'collapsed' ? 0 : rtlOrigin === 'left' ? space.s : undefined,
55
+ left: context.state === 'collapsed' ? 0 : rtlOrigin === 'right' ? space.s : undefined,
56
+ margin: context.state === 'collapsed' ? 'auto' : 0, // to override the -8px margin for TertiaryButton.Plain
57
+ transform:
58
+ context.state === 'collapsed' || context.state === 'collapsing'
59
+ ? `scaleX(${rtlOrigin === 'left' ? '1' : '-1'})`
60
+ : `scaleX(${rtlOrigin === 'left' ? '-1' : '1'})`,
61
+ });
62
+
63
+ return (
64
+ <Tooltip
65
+ title={context.state === 'collapsed' ? tooltipTextExpand : tooltipTextCollapse}
66
+ type="muted"
67
+ >
68
+ <TertiaryButton
69
+ type="button"
70
+ css={buttonStyle}
71
+ icon={icon}
72
+ variant={variant}
73
+ {...elemProps}
74
+ />
75
+ </Tooltip>
76
+ );
77
+ },
78
+ });
@@ -1,5 +1,10 @@
1
1
  import * as React from 'react';
2
2
 
3
+ export const SidePanelContext = React.createContext({
4
+ state: 'expanded',
5
+ origin: 'left',
6
+ });
7
+
3
8
  import {useUniqueId} from '@workday/canvas-kit-react/common';
4
9
  /**
5
10
  * The optional config options for the `useSidePanel` hook
@@ -77,6 +82,21 @@ export interface ControlProps {
77
82
  onClick: () => void;
78
83
  }
79
84
 
85
+ /**
86
+ *
87
+ * This hook manages the state and `aria-` attributes for the SidePanel. It takes an optional
88
+ * configuration object:
89
+ *
90
+ * ```tsx
91
+ * import {useSidePanel} from '@workday/canvas-kit-preview-react/side-panel';
92
+ *
93
+ * const {expanded, setExpanded, panelProps, labelProps, controlProps} = useSidePanel({
94
+ * initialExpanded: false,
95
+ * panelId: 'custom-panel-id',
96
+ * labelId: 'custom-label-id',
97
+ * });
98
+ * ```
99
+ */
80
100
  export const useSidePanel = (config?: UseSidePanelProps) => {
81
101
  const [touched, setTouched] = React.useState(false);
82
102
  const configParams = config
@@ -1,5 +1,6 @@
1
1
  {
2
2
  "main": "../dist/commonjs/side-panel",
3
3
  "module": "../dist/es6/side-panel",
4
- "sideEffects": false
4
+ "sideEffects": false,
5
+ "types": "../dist/es6/side-panel"
5
6
  }