@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.
- package/color-picker/README.md +1 -1
- package/color-picker/index.ts +1 -1
- package/color-picker/lib/ColorPicker.tsx +3 -4
- package/color-picker/package.json +2 -1
- package/dist/commonjs/color-picker/index.d.ts +1 -1
- package/dist/commonjs/color-picker/index.d.ts.map +1 -1
- package/dist/commonjs/color-picker/index.js +2 -6
- package/dist/commonjs/color-picker/lib/ColorPicker.d.ts +1 -2
- package/dist/commonjs/color-picker/lib/ColorPicker.d.ts.map +1 -1
- package/dist/commonjs/color-picker/lib/ColorPicker.js +28 -50
- package/dist/commonjs/color-picker/lib/parts/ColorReset.js +32 -23
- package/dist/commonjs/color-picker/lib/parts/SwatchBook.js +26 -39
- package/dist/commonjs/form-field/lib/FormField.d.ts +4 -19
- package/dist/commonjs/form-field/lib/FormField.d.ts.map +1 -1
- package/dist/commonjs/form-field/lib/FormField.js +10 -33
- package/dist/commonjs/form-field/lib/FormFieldHint.d.ts +1 -1
- package/dist/commonjs/form-field/lib/FormFieldHint.d.ts.map +1 -1
- package/dist/commonjs/form-field/lib/FormFieldHint.js +8 -32
- package/dist/commonjs/form-field/lib/FormFieldInput.d.ts +1 -1
- package/dist/commonjs/form-field/lib/FormFieldInput.js +6 -17
- package/dist/commonjs/form-field/lib/FormFieldLabel.d.ts +2 -8
- package/dist/commonjs/form-field/lib/FormFieldLabel.d.ts.map +1 -1
- package/dist/commonjs/form-field/lib/FormFieldLabel.js +10 -39
- package/dist/commonjs/form-field/lib/hooks/useFormFieldHint.d.ts +3 -5
- package/dist/commonjs/form-field/lib/hooks/useFormFieldHint.d.ts.map +1 -1
- package/dist/commonjs/form-field/lib/hooks/useFormFieldHint.js +4 -5
- package/dist/commonjs/form-field/lib/hooks/useFormFieldInput.d.ts +3 -5
- package/dist/commonjs/form-field/lib/hooks/useFormFieldInput.d.ts.map +1 -1
- package/dist/commonjs/form-field/lib/hooks/useFormFieldInput.js +5 -6
- package/dist/commonjs/form-field/lib/hooks/useFormFieldLabel.d.ts +3 -5
- package/dist/commonjs/form-field/lib/hooks/useFormFieldLabel.d.ts.map +1 -1
- package/dist/commonjs/form-field/lib/hooks/useFormFieldLabel.js +4 -5
- package/dist/commonjs/form-field/lib/hooks/useFormFieldModel.d.ts +2 -12
- package/dist/commonjs/form-field/lib/hooks/useFormFieldModel.d.ts.map +1 -1
- package/dist/commonjs/form-field/lib/hooks/useFormFieldModel.js +9 -19
- package/dist/commonjs/form-field/lib/hooks/useFormFieldOrientation.d.ts +4 -4
- package/dist/commonjs/form-field/lib/hooks/useFormFieldOrientation.d.ts.map +1 -1
- package/dist/commonjs/form-field/lib/hooks/useFormFieldOrientation.js +5 -5
- package/dist/commonjs/index.d.ts +2 -1
- package/dist/commonjs/index.d.ts.map +1 -1
- package/dist/commonjs/index.js +2 -2
- package/dist/commonjs/menu/index.d.ts +1 -4
- package/dist/commonjs/menu/index.d.ts.map +1 -1
- package/dist/commonjs/menu/index.js +1 -9
- package/dist/commonjs/menu/lib/Menu.d.ts +44 -13
- package/dist/commonjs/menu/lib/Menu.d.ts.map +1 -1
- package/dist/commonjs/menu/lib/Menu.js +127 -130
- package/dist/commonjs/menu/lib/MenuItem.d.ts +45 -14
- package/dist/commonjs/menu/lib/MenuItem.d.ts.map +1 -1
- package/dist/commonjs/menu/lib/MenuItem.js +118 -106
- package/dist/commonjs/pill/lib/Pill.d.ts +101 -13
- package/dist/commonjs/pill/lib/Pill.d.ts.map +1 -1
- package/dist/commonjs/pill/lib/Pill.js +158 -64
- package/dist/commonjs/pill/lib/PillAvatar.js +6 -17
- package/dist/commonjs/pill/lib/PillCount.js +7 -30
- package/dist/commonjs/pill/lib/PillIcon.js +8 -31
- package/dist/commonjs/pill/lib/PillIconButton.js +13 -36
- package/dist/commonjs/pill/lib/PillLabel.js +10 -33
- package/dist/commonjs/pill/lib/usePillModel.js +8 -16
- package/dist/commonjs/segmented-control/index.d.ts +5 -0
- package/dist/commonjs/segmented-control/index.d.ts.map +1 -0
- package/dist/commonjs/segmented-control/index.js +18 -0
- package/dist/commonjs/segmented-control/lib/SegmentedControl.d.ts +1189 -0
- package/dist/commonjs/segmented-control/lib/SegmentedControl.d.ts.map +1 -0
- package/dist/commonjs/segmented-control/lib/SegmentedControl.js +57 -0
- package/dist/commonjs/segmented-control/lib/SegmentedControlItem.d.ts +107 -0
- package/dist/commonjs/segmented-control/lib/SegmentedControlItem.d.ts.map +1 -0
- package/dist/commonjs/segmented-control/lib/SegmentedControlItem.js +105 -0
- package/dist/commonjs/segmented-control/lib/SegmentedControlList.d.ts +135 -0
- package/dist/commonjs/segmented-control/lib/SegmentedControlList.d.ts.map +1 -0
- package/dist/commonjs/segmented-control/lib/SegmentedControlList.js +41 -0
- package/dist/commonjs/segmented-control/lib/hooks/useSegmentedControlItem.d.ts +79 -0
- package/dist/commonjs/segmented-control/lib/hooks/useSegmentedControlItem.d.ts.map +1 -0
- package/dist/commonjs/segmented-control/lib/hooks/useSegmentedControlItem.js +21 -0
- package/dist/commonjs/segmented-control/lib/hooks/useSegmentedControlModel.d.ts +1202 -0
- package/dist/commonjs/segmented-control/lib/hooks/useSegmentedControlModel.d.ts.map +1 -0
- package/dist/commonjs/segmented-control/lib/hooks/useSegmentedControlModel.js +75 -0
- package/dist/commonjs/select/index.d.ts +0 -3
- package/dist/commonjs/select/index.d.ts.map +1 -1
- package/dist/commonjs/select/index.js +0 -7
- package/dist/commonjs/select/lib/Select.d.ts +0 -1
- package/dist/commonjs/select/lib/Select.d.ts.map +1 -1
- package/dist/commonjs/select/lib/Select.js +147 -191
- package/dist/commonjs/select/lib/SelectBase.d.ts +2 -2
- package/dist/commonjs/select/lib/SelectBase.d.ts.map +1 -1
- package/dist/commonjs/select/lib/SelectBase.js +109 -107
- package/dist/commonjs/select/lib/SelectMenu.d.ts +2 -2
- package/dist/commonjs/select/lib/SelectMenu.d.ts.map +1 -1
- package/dist/commonjs/select/lib/SelectMenu.js +55 -86
- package/dist/commonjs/select/lib/SelectOption.d.ts +1 -2
- package/dist/commonjs/select/lib/SelectOption.d.ts.map +1 -1
- package/dist/commonjs/select/lib/SelectOption.js +35 -48
- package/dist/commonjs/select/lib/scrolling.js +6 -7
- package/dist/commonjs/select/lib/utils.js +4 -4
- package/dist/commonjs/side-panel/index.d.ts +0 -3
- package/dist/commonjs/side-panel/index.d.ts.map +1 -1
- package/dist/commonjs/side-panel/index.js +0 -7
- package/dist/commonjs/side-panel/lib/SidePanel.d.ts +13 -27
- package/dist/commonjs/side-panel/lib/SidePanel.d.ts.map +1 -1
- package/dist/commonjs/side-panel/lib/SidePanel.js +95 -133
- package/dist/commonjs/side-panel/lib/SidePanelToggleButton.d.ts +17 -0
- package/dist/commonjs/side-panel/lib/SidePanelToggleButton.d.ts.map +1 -0
- package/dist/commonjs/side-panel/lib/SidePanelToggleButton.js +65 -0
- package/dist/commonjs/side-panel/lib/hooks.d.ts +20 -0
- package/dist/commonjs/side-panel/lib/hooks.d.ts.map +1 -1
- package/dist/commonjs/side-panel/lib/hooks.js +40 -21
- package/dist/commonjs/status-indicator/index.d.ts +4 -0
- package/dist/commonjs/status-indicator/index.d.ts.map +1 -0
- package/dist/commonjs/status-indicator/index.js +17 -0
- package/dist/commonjs/status-indicator/lib/StatusIndicator.d.ts +66 -0
- package/dist/commonjs/status-indicator/lib/StatusIndicator.d.ts.map +1 -0
- package/dist/commonjs/status-indicator/lib/StatusIndicator.js +57 -0
- package/dist/commonjs/status-indicator/lib/StatusIndicatorIcon.d.ts +83 -0
- package/dist/commonjs/status-indicator/lib/StatusIndicatorIcon.d.ts.map +1 -0
- package/dist/commonjs/status-indicator/lib/StatusIndicatorIcon.js +86 -0
- package/dist/commonjs/status-indicator/lib/StatusIndicatorLabel.d.ts +5 -0
- package/dist/commonjs/status-indicator/lib/StatusIndicatorLabel.d.ts.map +1 -0
- package/dist/commonjs/status-indicator/lib/StatusIndicatorLabel.js +15 -0
- package/dist/commonjs/status-indicator/lib/hooks/index.d.ts +2 -0
- package/dist/commonjs/status-indicator/lib/hooks/index.d.ts.map +1 -0
- package/dist/commonjs/{breadcrumbs → status-indicator/lib/hooks}/index.js +1 -5
- package/dist/commonjs/status-indicator/lib/hooks/useStatusIndicatorModel.d.ts +75 -0
- package/dist/commonjs/status-indicator/lib/hooks/useStatusIndicatorModel.d.ts.map +1 -0
- package/dist/commonjs/status-indicator/lib/hooks/useStatusIndicatorModel.js +25 -0
- package/dist/commonjs/table/index.d.ts +2 -0
- package/dist/commonjs/table/index.d.ts.map +1 -0
- package/dist/commonjs/{text-area/lib/hooks → table}/index.js +1 -1
- package/dist/commonjs/table/lib/Table.d.ts +207 -0
- package/dist/commonjs/table/lib/Table.d.ts.map +1 -0
- package/dist/commonjs/table/lib/Table.js +229 -0
- package/dist/commonjs/table/lib/TableBody.d.ts +2 -0
- package/dist/commonjs/table/lib/TableBody.d.ts.map +1 -0
- package/dist/commonjs/table/lib/TableBody.js +35 -0
- package/dist/commonjs/table/lib/TableCaption.d.ts +2 -0
- package/dist/commonjs/table/lib/TableCaption.d.ts.map +1 -0
- package/dist/commonjs/table/lib/TableCaption.js +16 -0
- package/dist/commonjs/table/lib/TableCell.d.ts +2 -0
- package/dist/commonjs/table/lib/TableCell.d.ts.map +1 -0
- package/dist/commonjs/table/lib/TableCell.js +16 -0
- package/dist/commonjs/table/lib/TableFooter.d.ts +2 -0
- package/dist/commonjs/table/lib/TableFooter.d.ts.map +1 -0
- package/dist/commonjs/table/lib/TableFooter.js +15 -0
- package/dist/commonjs/table/lib/TableHead.d.ts +2 -0
- package/dist/commonjs/table/lib/TableHead.d.ts.map +1 -0
- package/dist/commonjs/table/lib/TableHead.js +23 -0
- package/dist/commonjs/table/lib/TableHeader.d.ts +2 -0
- package/dist/commonjs/table/lib/TableHeader.d.ts.map +1 -0
- package/dist/commonjs/table/lib/TableHeader.js +16 -0
- package/dist/commonjs/table/lib/TableRow.d.ts +2 -0
- package/dist/commonjs/table/lib/TableRow.d.ts.map +1 -0
- package/dist/commonjs/table/lib/TableRow.js +19 -0
- package/dist/commonjs/text-area/lib/TextArea.d.ts +3 -12
- package/dist/commonjs/text-area/lib/TextArea.d.ts.map +1 -1
- package/dist/commonjs/text-area/lib/TextArea.js +9 -33
- package/dist/commonjs/text-area/lib/TextAreaField.d.ts +2 -2
- package/dist/commonjs/text-area/lib/TextAreaField.d.ts.map +1 -1
- package/dist/commonjs/text-area/lib/TextAreaField.js +25 -41
- package/dist/commonjs/text-input/lib/TextInput.d.ts +5 -14
- package/dist/commonjs/text-input/lib/TextInput.d.ts.map +1 -1
- package/dist/commonjs/text-input/lib/TextInput.js +9 -33
- package/dist/commonjs/text-input/lib/TextInputField.d.ts +2 -2
- package/dist/commonjs/text-input/lib/TextInputField.d.ts.map +1 -1
- package/dist/commonjs/text-input/lib/TextInputField.js +25 -30
- package/dist/commonjs/text-input/lib/hooks/useTextInputField.d.ts +3 -5
- package/dist/commonjs/text-input/lib/hooks/useTextInputField.d.ts.map +1 -1
- package/dist/commonjs/text-input/lib/hooks/useTextInputField.js +3 -3
- package/dist/commonjs/text-input/lib/hooks/useTextInputModel.d.ts +1 -0
- package/dist/commonjs/text-input/lib/hooks/useTextInputModel.d.ts.map +1 -1
- package/dist/commonjs/text-input/lib/hooks/useTextInputModel.js +2 -1
- package/dist/es6/color-picker/index.d.ts +1 -1
- package/dist/es6/color-picker/index.d.ts.map +1 -1
- package/dist/es6/color-picker/index.js +1 -1
- package/dist/es6/color-picker/lib/ColorPicker.d.ts +1 -2
- package/dist/es6/color-picker/lib/ColorPicker.d.ts.map +1 -1
- package/dist/es6/color-picker/lib/ColorPicker.js +17 -41
- package/dist/es6/color-picker/lib/parts/ColorReset.js +27 -18
- package/dist/es6/color-picker/lib/parts/SwatchBook.js +21 -34
- package/dist/es6/form-field/lib/FormField.d.ts +4 -19
- package/dist/es6/form-field/lib/FormField.d.ts.map +1 -1
- package/dist/es6/form-field/lib/FormField.js +5 -28
- package/dist/es6/form-field/lib/FormFieldHint.d.ts +1 -1
- package/dist/es6/form-field/lib/FormFieldHint.d.ts.map +1 -1
- package/dist/es6/form-field/lib/FormFieldHint.js +7 -31
- package/dist/es6/form-field/lib/FormFieldInput.d.ts +1 -1
- package/dist/es6/form-field/lib/FormFieldInput.js +3 -14
- package/dist/es6/form-field/lib/FormFieldLabel.d.ts +2 -8
- package/dist/es6/form-field/lib/FormFieldLabel.d.ts.map +1 -1
- package/dist/es6/form-field/lib/FormFieldLabel.js +9 -38
- package/dist/es6/form-field/lib/hooks/useFormFieldHint.d.ts +3 -5
- package/dist/es6/form-field/lib/hooks/useFormFieldHint.d.ts.map +1 -1
- package/dist/es6/form-field/lib/hooks/useFormFieldHint.js +2 -3
- package/dist/es6/form-field/lib/hooks/useFormFieldInput.d.ts +3 -5
- package/dist/es6/form-field/lib/hooks/useFormFieldInput.d.ts.map +1 -1
- package/dist/es6/form-field/lib/hooks/useFormFieldInput.js +3 -4
- package/dist/es6/form-field/lib/hooks/useFormFieldLabel.d.ts +3 -5
- package/dist/es6/form-field/lib/hooks/useFormFieldLabel.d.ts.map +1 -1
- package/dist/es6/form-field/lib/hooks/useFormFieldLabel.js +2 -3
- package/dist/es6/form-field/lib/hooks/useFormFieldModel.d.ts +2 -12
- package/dist/es6/form-field/lib/hooks/useFormFieldModel.d.ts.map +1 -1
- package/dist/es6/form-field/lib/hooks/useFormFieldModel.js +9 -19
- package/dist/es6/form-field/lib/hooks/useFormFieldOrientation.d.ts +4 -4
- package/dist/es6/form-field/lib/hooks/useFormFieldOrientation.d.ts.map +1 -1
- package/dist/es6/form-field/lib/hooks/useFormFieldOrientation.js +4 -4
- package/dist/es6/index.d.ts +2 -1
- package/dist/es6/index.d.ts.map +1 -1
- package/dist/es6/index.js +2 -2
- package/dist/es6/menu/index.d.ts +1 -4
- package/dist/es6/menu/index.d.ts.map +1 -1
- package/dist/es6/menu/index.js +1 -4
- package/dist/es6/menu/lib/Menu.d.ts +44 -13
- package/dist/es6/menu/lib/Menu.d.ts.map +1 -1
- package/dist/es6/menu/lib/Menu.js +120 -125
- package/dist/es6/menu/lib/MenuItem.d.ts +45 -14
- package/dist/es6/menu/lib/MenuItem.d.ts.map +1 -1
- package/dist/es6/menu/lib/MenuItem.js +112 -102
- package/dist/es6/pill/lib/Pill.d.ts +107 -19
- package/dist/es6/pill/lib/Pill.d.ts.map +1 -1
- package/dist/es6/pill/lib/Pill.js +149 -55
- package/dist/es6/pill/lib/PillAvatar.d.ts +1 -2
- package/dist/es6/pill/lib/PillAvatar.d.ts.map +1 -1
- package/dist/es6/pill/lib/PillAvatar.js +3 -14
- package/dist/es6/pill/lib/PillCount.js +4 -27
- package/dist/es6/pill/lib/PillIcon.d.ts +1 -2
- package/dist/es6/pill/lib/PillIcon.d.ts.map +1 -1
- package/dist/es6/pill/lib/PillIcon.js +3 -26
- package/dist/es6/pill/lib/PillIconButton.d.ts +1 -2
- package/dist/es6/pill/lib/PillIconButton.d.ts.map +1 -1
- package/dist/es6/pill/lib/PillIconButton.js +7 -30
- package/dist/es6/pill/lib/PillLabel.d.ts +1 -2
- package/dist/es6/pill/lib/PillLabel.d.ts.map +1 -1
- package/dist/es6/pill/lib/PillLabel.js +5 -28
- package/dist/es6/pill/lib/usePillModel.d.ts +5 -5
- package/dist/es6/pill/lib/usePillModel.js +8 -16
- package/dist/es6/segmented-control/index.d.ts +5 -0
- package/dist/es6/segmented-control/index.d.ts.map +1 -0
- package/dist/es6/segmented-control/index.js +4 -0
- package/dist/es6/segmented-control/lib/SegmentedControl.d.ts +1189 -0
- package/dist/es6/segmented-control/lib/SegmentedControl.d.ts.map +1 -0
- package/dist/es6/segmented-control/lib/SegmentedControl.js +51 -0
- package/dist/es6/segmented-control/lib/SegmentedControlItem.d.ts +107 -0
- package/dist/es6/segmented-control/lib/SegmentedControlItem.d.ts.map +1 -0
- package/dist/es6/segmented-control/lib/SegmentedControlItem.js +83 -0
- package/dist/es6/segmented-control/lib/SegmentedControlList.d.ts +135 -0
- package/dist/es6/segmented-control/lib/SegmentedControlList.d.ts.map +1 -0
- package/dist/es6/segmented-control/lib/SegmentedControlList.js +19 -0
- package/dist/es6/segmented-control/lib/hooks/useSegmentedControlItem.d.ts +79 -0
- package/dist/es6/segmented-control/lib/hooks/useSegmentedControlItem.d.ts.map +1 -0
- package/dist/es6/segmented-control/lib/hooks/useSegmentedControlItem.js +18 -0
- package/dist/es6/segmented-control/lib/hooks/useSegmentedControlModel.d.ts +1202 -0
- package/dist/es6/segmented-control/lib/hooks/useSegmentedControlModel.d.ts.map +1 -0
- package/dist/es6/segmented-control/lib/hooks/useSegmentedControlModel.js +69 -0
- package/dist/es6/select/index.d.ts +0 -3
- package/dist/es6/select/index.d.ts.map +1 -1
- package/dist/es6/select/index.js +0 -3
- package/dist/es6/select/lib/Select.d.ts +0 -1
- package/dist/es6/select/lib/Select.d.ts.map +1 -1
- package/dist/es6/select/lib/Select.js +145 -186
- package/dist/es6/select/lib/SelectBase.d.ts +2 -2
- package/dist/es6/select/lib/SelectBase.d.ts.map +1 -1
- package/dist/es6/select/lib/SelectBase.js +101 -97
- package/dist/es6/select/lib/SelectMenu.d.ts +2 -2
- package/dist/es6/select/lib/SelectMenu.d.ts.map +1 -1
- package/dist/es6/select/lib/SelectMenu.js +49 -81
- package/dist/es6/select/lib/SelectOption.d.ts +1 -2
- package/dist/es6/select/lib/SelectOption.d.ts.map +1 -1
- package/dist/es6/select/lib/SelectOption.js +30 -45
- package/dist/es6/select/lib/scrolling.js +6 -7
- package/dist/es6/select/lib/utils.js +4 -4
- package/dist/es6/side-panel/index.d.ts +0 -3
- package/dist/es6/side-panel/index.d.ts.map +1 -1
- package/dist/es6/side-panel/index.js +0 -3
- package/dist/es6/side-panel/lib/SidePanel.d.ts +13 -27
- package/dist/es6/side-panel/lib/SidePanel.d.ts.map +1 -1
- package/dist/es6/side-panel/lib/SidePanel.js +93 -131
- package/dist/es6/side-panel/lib/SidePanelToggleButton.d.ts +17 -0
- package/dist/es6/side-panel/lib/SidePanelToggleButton.d.ts.map +1 -0
- package/dist/es6/side-panel/lib/SidePanelToggleButton.js +43 -0
- package/dist/es6/side-panel/lib/hooks.d.ts +20 -0
- package/dist/es6/side-panel/lib/hooks.d.ts.map +1 -1
- package/dist/es6/side-panel/lib/hooks.js +37 -18
- package/dist/es6/status-indicator/index.d.ts +4 -0
- package/dist/es6/status-indicator/index.d.ts.map +1 -0
- package/dist/es6/status-indicator/index.js +3 -0
- package/dist/es6/status-indicator/lib/StatusIndicator.d.ts +66 -0
- package/dist/es6/status-indicator/lib/StatusIndicator.d.ts.map +1 -0
- package/dist/es6/status-indicator/lib/StatusIndicator.js +51 -0
- package/dist/es6/status-indicator/lib/StatusIndicatorIcon.d.ts +83 -0
- package/dist/es6/status-indicator/lib/StatusIndicatorIcon.d.ts.map +1 -0
- package/dist/es6/status-indicator/lib/StatusIndicatorIcon.js +80 -0
- package/dist/es6/status-indicator/lib/StatusIndicatorLabel.d.ts +5 -0
- package/dist/es6/status-indicator/lib/StatusIndicatorLabel.d.ts.map +1 -0
- package/dist/es6/status-indicator/lib/StatusIndicatorLabel.js +9 -0
- package/dist/es6/status-indicator/lib/hooks/index.d.ts +2 -0
- package/dist/es6/status-indicator/lib/hooks/index.d.ts.map +1 -0
- package/dist/es6/status-indicator/lib/hooks/index.js +1 -0
- package/dist/es6/status-indicator/lib/hooks/useStatusIndicatorModel.d.ts +75 -0
- package/dist/es6/status-indicator/lib/hooks/useStatusIndicatorModel.d.ts.map +1 -0
- package/dist/es6/status-indicator/lib/hooks/useStatusIndicatorModel.js +22 -0
- package/dist/es6/table/index.d.ts +2 -0
- package/dist/es6/table/index.d.ts.map +1 -0
- package/dist/es6/table/index.js +1 -0
- package/dist/es6/table/lib/Table.d.ts +207 -0
- package/dist/es6/table/lib/Table.d.ts.map +1 -0
- package/dist/es6/table/lib/Table.js +223 -0
- package/dist/es6/table/lib/TableBody.d.ts +2 -0
- package/dist/es6/table/lib/TableBody.d.ts.map +1 -0
- package/dist/es6/table/lib/TableBody.js +29 -0
- package/dist/es6/table/lib/TableCaption.d.ts +2 -0
- package/dist/es6/table/lib/TableCaption.d.ts.map +1 -0
- package/dist/es6/table/lib/TableCaption.js +10 -0
- package/dist/es6/table/lib/TableCell.d.ts +2 -0
- package/dist/es6/table/lib/TableCell.d.ts.map +1 -0
- package/dist/es6/table/lib/TableCell.js +10 -0
- package/dist/es6/table/lib/TableFooter.d.ts +2 -0
- package/dist/es6/table/lib/TableFooter.d.ts.map +1 -0
- package/dist/es6/table/lib/TableFooter.js +9 -0
- package/dist/es6/table/lib/TableHead.d.ts +2 -0
- package/dist/es6/table/lib/TableHead.d.ts.map +1 -0
- package/dist/es6/table/lib/TableHead.js +17 -0
- package/dist/es6/table/lib/TableHeader.d.ts +2 -0
- package/dist/es6/table/lib/TableHeader.d.ts.map +1 -0
- package/dist/es6/table/lib/TableHeader.js +10 -0
- package/dist/es6/table/lib/TableRow.d.ts +2 -0
- package/dist/es6/table/lib/TableRow.d.ts.map +1 -0
- package/dist/es6/table/lib/TableRow.js +13 -0
- package/dist/es6/text-area/lib/TextArea.d.ts +3 -12
- package/dist/es6/text-area/lib/TextArea.d.ts.map +1 -1
- package/dist/es6/text-area/lib/TextArea.js +7 -31
- package/dist/es6/text-area/lib/TextAreaField.d.ts +2 -2
- package/dist/es6/text-area/lib/TextAreaField.d.ts.map +1 -1
- package/dist/es6/text-area/lib/TextAreaField.js +22 -38
- package/dist/es6/text-input/lib/TextInput.d.ts +5 -14
- package/dist/es6/text-input/lib/TextInput.d.ts.map +1 -1
- package/dist/es6/text-input/lib/TextInput.js +7 -31
- package/dist/es6/text-input/lib/TextInputField.d.ts +2 -2
- package/dist/es6/text-input/lib/TextInputField.d.ts.map +1 -1
- package/dist/es6/text-input/lib/TextInputField.js +24 -29
- package/dist/es6/text-input/lib/hooks/useTextInputField.d.ts +3 -5
- package/dist/es6/text-input/lib/hooks/useTextInputField.d.ts.map +1 -1
- package/dist/es6/text-input/lib/hooks/useTextInputField.js +1 -1
- package/dist/es6/text-input/lib/hooks/useTextInputModel.d.ts +1 -0
- package/dist/es6/text-input/lib/hooks/useTextInputModel.d.ts.map +1 -1
- package/dist/es6/text-input/lib/hooks/useTextInputModel.js +2 -1
- package/form-field/lib/FormField.tsx +5 -10
- package/form-field/lib/FormFieldHint.tsx +23 -30
- package/form-field/lib/FormFieldLabel.tsx +18 -33
- package/form-field/lib/hooks/useFormFieldModel.tsx +1 -3
- package/form-field/lib/hooks/useFormFieldOrientation.tsx +6 -6
- package/form-field/package.json +2 -1
- package/index.ts +2 -3
- package/menu/index.ts +1 -6
- package/menu/lib/Menu.tsx +81 -27
- package/menu/lib/MenuItem.tsx +63 -19
- package/menu/package.json +2 -1
- package/package.json +6 -6
- package/pill/lib/Pill.tsx +109 -10
- package/pill/lib/PillCount.tsx +1 -1
- package/pill/lib/PillIcon.tsx +1 -1
- package/pill/package.json +2 -1
- package/segmented-control/LICENSE +126 -0
- package/segmented-control/README.md +6 -0
- package/segmented-control/index.ts +4 -0
- package/segmented-control/lib/SegmentedControl.tsx +57 -0
- package/segmented-control/lib/SegmentedControlItem.tsx +175 -0
- package/segmented-control/lib/SegmentedControlList.tsx +49 -0
- package/segmented-control/lib/hooks/useSegmentedControlItem.tsx +33 -0
- package/segmented-control/lib/hooks/useSegmentedControlModel.tsx +75 -0
- package/segmented-control/package.json +6 -0
- package/select/README.md +7 -7
- package/select/index.ts +0 -4
- package/select/lib/Select.tsx +1 -3
- package/select/lib/SelectBase.tsx +3 -5
- package/select/lib/SelectMenu.tsx +1 -3
- package/select/lib/SelectOption.tsx +1 -3
- package/select/package.json +2 -1
- package/side-panel/index.ts +0 -4
- package/side-panel/lib/SidePanel.tsx +119 -170
- package/side-panel/lib/SidePanelToggleButton.tsx +78 -0
- package/side-panel/lib/hooks.ts +20 -0
- package/side-panel/package.json +2 -1
- package/status-indicator/LICENSE +52 -0
- package/status-indicator/README.md +12 -0
- package/status-indicator/index.ts +3 -0
- package/status-indicator/lib/StatusIndicator.tsx +75 -0
- package/status-indicator/lib/StatusIndicatorIcon.tsx +88 -0
- package/status-indicator/lib/StatusIndicatorLabel.tsx +28 -0
- package/status-indicator/lib/hooks/index.ts +1 -0
- package/status-indicator/lib/hooks/useStatusIndicatorModel.tsx +29 -0
- package/status-indicator/package.json +6 -0
- package/{breadcrumbs → table}/LICENSE +0 -1
- package/table/README.md +5 -0
- package/table/index.ts +1 -0
- package/table/lib/Table.tsx +236 -0
- package/table/lib/TableBody.tsx +35 -0
- package/table/lib/TableCaption.tsx +22 -0
- package/table/lib/TableCell.tsx +27 -0
- package/table/lib/TableFooter.tsx +14 -0
- package/table/lib/TableHead.tsx +23 -0
- package/table/lib/TableHeader.tsx +28 -0
- package/table/lib/TableRow.tsx +26 -0
- package/table/package.json +6 -0
- package/text-area/lib/TextArea.tsx +9 -6
- package/text-area/lib/TextAreaField.tsx +7 -3
- package/text-area/package.json +2 -1
- package/text-input/lib/TextInput.tsx +9 -6
- package/text-input/lib/TextInputField.tsx +10 -6
- package/text-input/lib/hooks/useTextInputModel.ts +1 -0
- package/text-input/package.json +2 -1
- package/breadcrumbs/README.md +0 -7
- package/breadcrumbs/index.ts +0 -5
- package/breadcrumbs/lib/Breadcrumbs/Dropdown/Button.tsx +0 -85
- package/breadcrumbs/lib/Breadcrumbs/Dropdown/Menu.tsx +0 -152
- package/breadcrumbs/lib/Breadcrumbs/Dropdown/MenuItemLink.tsx +0 -63
- package/breadcrumbs/lib/Breadcrumbs/Dropdown/hooks.ts +0 -109
- package/breadcrumbs/lib/Breadcrumbs/Dropdown/index.tsx +0 -38
- package/breadcrumbs/lib/Breadcrumbs/List/Collapsible.tsx +0 -66
- package/breadcrumbs/lib/Breadcrumbs/List/CurrentItem.tsx +0 -64
- package/breadcrumbs/lib/Breadcrumbs/List/Link.tsx +0 -88
- package/breadcrumbs/lib/Breadcrumbs/List/ListItem.tsx +0 -30
- package/breadcrumbs/lib/Breadcrumbs/List/hooks.ts +0 -114
- package/breadcrumbs/lib/Breadcrumbs/List/index.tsx +0 -28
- package/breadcrumbs/lib/Breadcrumbs/List/styles.ts +0 -12
- package/breadcrumbs/lib/Breadcrumbs/Nav.tsx +0 -14
- package/breadcrumbs/lib/Breadcrumbs/hooks.ts +0 -13
- package/breadcrumbs/lib/Breadcrumbs/index.tsx +0 -15
- package/breadcrumbs/lib/Breadcrumbs/types.ts +0 -7
- package/breadcrumbs/package.json +0 -5
- package/dist/commonjs/breadcrumbs/index.d.ts +0 -5
- package/dist/commonjs/breadcrumbs/index.d.ts.map +0 -1
- package/dist/commonjs/breadcrumbs/lib/Breadcrumbs/Dropdown/Button.d.ts +0 -20
- package/dist/commonjs/breadcrumbs/lib/Breadcrumbs/Dropdown/Button.d.ts.map +0 -1
- package/dist/commonjs/breadcrumbs/lib/Breadcrumbs/Dropdown/Button.js +0 -69
- package/dist/commonjs/breadcrumbs/lib/Breadcrumbs/Dropdown/Menu.d.ts +0 -38
- package/dist/commonjs/breadcrumbs/lib/Breadcrumbs/Dropdown/Menu.d.ts.map +0 -1
- package/dist/commonjs/breadcrumbs/lib/Breadcrumbs/Dropdown/Menu.js +0 -94
- package/dist/commonjs/breadcrumbs/lib/Breadcrumbs/Dropdown/MenuItemLink.d.ts +0 -14
- package/dist/commonjs/breadcrumbs/lib/Breadcrumbs/Dropdown/MenuItemLink.d.ts.map +0 -1
- package/dist/commonjs/breadcrumbs/lib/Breadcrumbs/Dropdown/MenuItemLink.js +0 -73
- package/dist/commonjs/breadcrumbs/lib/Breadcrumbs/Dropdown/hooks.d.ts +0 -13
- package/dist/commonjs/breadcrumbs/lib/Breadcrumbs/Dropdown/hooks.d.ts.map +0 -1
- package/dist/commonjs/breadcrumbs/lib/Breadcrumbs/Dropdown/hooks.js +0 -77
- package/dist/commonjs/breadcrumbs/lib/Breadcrumbs/Dropdown/index.d.ts +0 -8
- package/dist/commonjs/breadcrumbs/lib/Breadcrumbs/Dropdown/index.d.ts.map +0 -1
- package/dist/commonjs/breadcrumbs/lib/Breadcrumbs/Dropdown/index.js +0 -37
- package/dist/commonjs/breadcrumbs/lib/Breadcrumbs/List/Collapsible.d.ts +0 -16
- package/dist/commonjs/breadcrumbs/lib/Breadcrumbs/List/Collapsible.d.ts.map +0 -1
- package/dist/commonjs/breadcrumbs/lib/Breadcrumbs/List/Collapsible.js +0 -78
- package/dist/commonjs/breadcrumbs/lib/Breadcrumbs/List/CurrentItem.d.ts +0 -11
- package/dist/commonjs/breadcrumbs/lib/Breadcrumbs/List/CurrentItem.d.ts.map +0 -1
- package/dist/commonjs/breadcrumbs/lib/Breadcrumbs/List/CurrentItem.js +0 -49
- package/dist/commonjs/breadcrumbs/lib/Breadcrumbs/List/Link.d.ts +0 -19
- package/dist/commonjs/breadcrumbs/lib/Breadcrumbs/List/Link.d.ts.map +0 -1
- package/dist/commonjs/breadcrumbs/lib/Breadcrumbs/List/Link.js +0 -66
- package/dist/commonjs/breadcrumbs/lib/Breadcrumbs/List/ListItem.d.ts +0 -4
- package/dist/commonjs/breadcrumbs/lib/Breadcrumbs/List/ListItem.d.ts.map +0 -1
- package/dist/commonjs/breadcrumbs/lib/Breadcrumbs/List/ListItem.js +0 -43
- package/dist/commonjs/breadcrumbs/lib/Breadcrumbs/List/hooks.d.ts +0 -19
- package/dist/commonjs/breadcrumbs/lib/Breadcrumbs/List/hooks.d.ts.map +0 -1
- package/dist/commonjs/breadcrumbs/lib/Breadcrumbs/List/hooks.js +0 -116
- package/dist/commonjs/breadcrumbs/lib/Breadcrumbs/List/index.d.ts +0 -4
- package/dist/commonjs/breadcrumbs/lib/Breadcrumbs/List/index.d.ts.map +0 -1
- package/dist/commonjs/breadcrumbs/lib/Breadcrumbs/List/index.js +0 -38
- package/dist/commonjs/breadcrumbs/lib/Breadcrumbs/List/styles.d.ts +0 -3
- package/dist/commonjs/breadcrumbs/lib/Breadcrumbs/List/styles.d.ts.map +0 -1
- package/dist/commonjs/breadcrumbs/lib/Breadcrumbs/List/styles.js +0 -16
- package/dist/commonjs/breadcrumbs/lib/Breadcrumbs/Nav.d.ts +0 -11
- package/dist/commonjs/breadcrumbs/lib/Breadcrumbs/Nav.d.ts.map +0 -1
- package/dist/commonjs/breadcrumbs/lib/Breadcrumbs/Nav.js +0 -34
- package/dist/commonjs/breadcrumbs/lib/Breadcrumbs/hooks.d.ts +0 -5
- package/dist/commonjs/breadcrumbs/lib/Breadcrumbs/hooks.d.ts.map +0 -1
- package/dist/commonjs/breadcrumbs/lib/Breadcrumbs/hooks.js +0 -12
- package/dist/commonjs/breadcrumbs/lib/Breadcrumbs/index.d.ts +0 -9
- package/dist/commonjs/breadcrumbs/lib/Breadcrumbs/index.d.ts.map +0 -1
- package/dist/commonjs/breadcrumbs/lib/Breadcrumbs/index.js +0 -17
- package/dist/commonjs/breadcrumbs/lib/Breadcrumbs/types.d.ts +0 -8
- package/dist/commonjs/breadcrumbs/lib/Breadcrumbs/types.d.ts.map +0 -1
- package/dist/commonjs/breadcrumbs/lib/Breadcrumbs/types.js +0 -2
- package/dist/commonjs/text-area/lib/hooks/index.d.ts +0 -2
- package/dist/commonjs/text-area/lib/hooks/index.d.ts.map +0 -1
- package/dist/commonjs/text-area/lib/hooks/useTextAreaModel.d.ts +0 -28
- package/dist/commonjs/text-area/lib/hooks/useTextAreaModel.d.ts.map +0 -1
- package/dist/commonjs/text-area/lib/hooks/useTextAreaModel.js +0 -5
- package/dist/es6/breadcrumbs/index.d.ts +0 -5
- package/dist/es6/breadcrumbs/index.d.ts.map +0 -1
- package/dist/es6/breadcrumbs/index.js +0 -4
- package/dist/es6/breadcrumbs/lib/Breadcrumbs/Dropdown/Button.d.ts +0 -20
- package/dist/es6/breadcrumbs/lib/Breadcrumbs/Dropdown/Button.d.ts.map +0 -1
- package/dist/es6/breadcrumbs/lib/Breadcrumbs/Dropdown/Button.js +0 -63
- package/dist/es6/breadcrumbs/lib/Breadcrumbs/Dropdown/Menu.d.ts +0 -38
- package/dist/es6/breadcrumbs/lib/Breadcrumbs/Dropdown/Menu.d.ts.map +0 -1
- package/dist/es6/breadcrumbs/lib/Breadcrumbs/Dropdown/Menu.js +0 -87
- package/dist/es6/breadcrumbs/lib/Breadcrumbs/Dropdown/MenuItemLink.d.ts +0 -14
- package/dist/es6/breadcrumbs/lib/Breadcrumbs/Dropdown/MenuItemLink.d.ts.map +0 -1
- package/dist/es6/breadcrumbs/lib/Breadcrumbs/Dropdown/MenuItemLink.js +0 -51
- package/dist/es6/breadcrumbs/lib/Breadcrumbs/Dropdown/hooks.d.ts +0 -13
- package/dist/es6/breadcrumbs/lib/Breadcrumbs/Dropdown/hooks.d.ts.map +0 -1
- package/dist/es6/breadcrumbs/lib/Breadcrumbs/Dropdown/hooks.js +0 -72
- package/dist/es6/breadcrumbs/lib/Breadcrumbs/Dropdown/index.d.ts +0 -8
- package/dist/es6/breadcrumbs/lib/Breadcrumbs/Dropdown/index.d.ts.map +0 -1
- package/dist/es6/breadcrumbs/lib/Breadcrumbs/Dropdown/index.js +0 -30
- package/dist/es6/breadcrumbs/lib/Breadcrumbs/List/Collapsible.d.ts +0 -16
- package/dist/es6/breadcrumbs/lib/Breadcrumbs/List/Collapsible.d.ts.map +0 -1
- package/dist/es6/breadcrumbs/lib/Breadcrumbs/List/Collapsible.js +0 -55
- package/dist/es6/breadcrumbs/lib/Breadcrumbs/List/CurrentItem.d.ts +0 -11
- package/dist/es6/breadcrumbs/lib/Breadcrumbs/List/CurrentItem.d.ts.map +0 -1
- package/dist/es6/breadcrumbs/lib/Breadcrumbs/List/CurrentItem.js +0 -42
- package/dist/es6/breadcrumbs/lib/Breadcrumbs/List/Link.d.ts +0 -19
- package/dist/es6/breadcrumbs/lib/Breadcrumbs/List/Link.d.ts.map +0 -1
- package/dist/es6/breadcrumbs/lib/Breadcrumbs/List/Link.js +0 -59
- package/dist/es6/breadcrumbs/lib/Breadcrumbs/List/ListItem.d.ts +0 -4
- package/dist/es6/breadcrumbs/lib/Breadcrumbs/List/ListItem.d.ts.map +0 -1
- package/dist/es6/breadcrumbs/lib/Breadcrumbs/List/ListItem.js +0 -36
- package/dist/es6/breadcrumbs/lib/Breadcrumbs/List/hooks.d.ts +0 -19
- package/dist/es6/breadcrumbs/lib/Breadcrumbs/List/hooks.d.ts.map +0 -1
- package/dist/es6/breadcrumbs/lib/Breadcrumbs/List/hooks.js +0 -91
- package/dist/es6/breadcrumbs/lib/Breadcrumbs/List/index.d.ts +0 -4
- package/dist/es6/breadcrumbs/lib/Breadcrumbs/List/index.d.ts.map +0 -1
- package/dist/es6/breadcrumbs/lib/Breadcrumbs/List/index.js +0 -32
- package/dist/es6/breadcrumbs/lib/Breadcrumbs/List/styles.d.ts +0 -3
- package/dist/es6/breadcrumbs/lib/Breadcrumbs/List/styles.d.ts.map +0 -1
- package/dist/es6/breadcrumbs/lib/Breadcrumbs/List/styles.js +0 -12
- package/dist/es6/breadcrumbs/lib/Breadcrumbs/Nav.d.ts +0 -11
- package/dist/es6/breadcrumbs/lib/Breadcrumbs/Nav.d.ts.map +0 -1
- package/dist/es6/breadcrumbs/lib/Breadcrumbs/Nav.js +0 -27
- package/dist/es6/breadcrumbs/lib/Breadcrumbs/hooks.d.ts +0 -5
- package/dist/es6/breadcrumbs/lib/Breadcrumbs/hooks.d.ts.map +0 -1
- package/dist/es6/breadcrumbs/lib/Breadcrumbs/hooks.js +0 -8
- package/dist/es6/breadcrumbs/lib/Breadcrumbs/index.d.ts +0 -9
- package/dist/es6/breadcrumbs/lib/Breadcrumbs/index.d.ts.map +0 -1
- package/dist/es6/breadcrumbs/lib/Breadcrumbs/index.js +0 -14
- package/dist/es6/breadcrumbs/lib/Breadcrumbs/types.d.ts +0 -8
- package/dist/es6/breadcrumbs/lib/Breadcrumbs/types.d.ts.map +0 -1
- package/dist/es6/breadcrumbs/lib/Breadcrumbs/types.js +0 -1
- package/dist/es6/text-area/lib/hooks/index.d.ts +0 -2
- package/dist/es6/text-area/lib/hooks/index.d.ts.map +0 -1
- package/dist/es6/text-area/lib/hooks/index.js +0 -1
- package/dist/es6/text-area/lib/hooks/useTextAreaModel.d.ts +0 -28
- package/dist/es6/text-area/lib/hooks/useTextAreaModel.d.ts.map +0 -1
- package/dist/es6/text-area/lib/hooks/useTextAreaModel.js +0 -2
- package/text-area/lib/hooks/index.ts +0 -1
- 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
|
+
});
|
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
package/select/lib/Select.tsx
CHANGED
|
@@ -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,
|
|
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;
|
package/select/package.json
CHANGED
package/side-panel/index.ts
CHANGED
|
@@ -1,23 +1,16 @@
|
|
|
1
1
|
/** @jsxRuntime classic */
|
|
2
2
|
/** @jsx jsx */
|
|
3
3
|
import * as React from 'react';
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
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
|
|
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')
|
|
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
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
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
|
-
|
|
156
|
-
|
|
134
|
+
React.useEffect(() => {
|
|
135
|
+
if (typeof onStateTransition !== 'undefined') {
|
|
136
|
+
onStateTransition(state);
|
|
157
137
|
}
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
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
|
-
|
|
176
|
-
|
|
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
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
:
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
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
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
}
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
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
|
+
});
|
package/side-panel/lib/hooks.ts
CHANGED
|
@@ -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
|