@superdispatch/ui 0.21.13 → 0.21.14

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 (234) hide show
  1. package/LICENSE +21 -0
  2. package/{pkg/dist-node → dist-node}/index.js +62 -14
  3. package/dist-node/index.js.map +1 -0
  4. package/{pkg/dist-src → dist-src}/index.js +1 -0
  5. package/dist-src/info-tooltip/InfoTooltip.js +54 -0
  6. package/{pkg/dist-types → dist-types}/index.d.ts +14 -2
  7. package/{pkg/dist-web → dist-web}/index.js +64 -17
  8. package/dist-web/index.js.map +1 -0
  9. package/package.json +12 -38
  10. package/.babelrc.js +0 -5
  11. package/.turbo/turbo-version.log +0 -28
  12. package/pkg/README.md +0 -30
  13. package/pkg/dist-node/index.js.map +0 -1
  14. package/pkg/dist-web/index.js.map +0 -1
  15. package/pkg/package.json +0 -39
  16. package/playroom.ts +0 -31
  17. package/src/__tests__/index.spec.ts +0 -134
  18. package/src/adaptive-toolbar/AdaptiveToolbar.stories.tsx +0 -50
  19. package/src/adaptive-toolbar/AdaptiveToolbar.tsx +0 -199
  20. package/src/adaptive-toolbar/__tests__/AdaptiveToolbar.spec.tsx +0 -11
  21. package/src/adaptive-vertical-toolbar/AdaptiveVerticalToolbar.stories.tsx +0 -49
  22. package/src/adaptive-vertical-toolbar/AdaptiveVerticalToolbar.tsx +0 -171
  23. package/src/app-bar/AppBar.stories.tsx +0 -62
  24. package/src/app-bar/AppBarOverrides.ts +0 -9
  25. package/src/app-bar/__tests__/AppBar.spec.tsx +0 -86
  26. package/src/autocomplete/Autocomplete.stories.tsx +0 -76
  27. package/src/autocomplete/AutocompleteOverrides.tsx +0 -58
  28. package/src/autocomplete/__tests__/Autocomplete.spec.tsx +0 -323
  29. package/src/avatar/Avatar.stories.tsx +0 -17
  30. package/src/avatar/AvatarOverrides.ts +0 -24
  31. package/src/avatar/__tests__/Avatar.spec.tsx +0 -71
  32. package/src/avatar-button/AvatarButton.stories.tsx +0 -153
  33. package/src/avatar-button/AvatarButton.tsx +0 -223
  34. package/src/avatar-button/__tests__/AvatarButton.spec.tsx +0 -126
  35. package/src/button/Button.tsx +0 -51
  36. package/src/button/ButtonOverrides.ts +0 -375
  37. package/src/button/__tests__/Button.spec.tsx +0 -599
  38. package/src/card/Card.stories.tsx +0 -39
  39. package/src/card/CardOverrides.ts +0 -9
  40. package/src/card/__tests__/Card.spec.tsx +0 -68
  41. package/src/card-button/CardButton.stories.tsx +0 -36
  42. package/src/card-button/CardButton.tsx +0 -202
  43. package/src/card-button/__tests__/CardButton.spec.tsx +0 -95
  44. package/src/checkbox/CheckboxField.stories.tsx +0 -61
  45. package/src/checkbox/CheckboxField.tsx +0 -56
  46. package/src/checkbox/CheckboxGroudField.tsx +0 -53
  47. package/src/checkbox/CheckboxOverrides.tsx +0 -55
  48. package/src/checkbox/__tests__/Checkbox.spec.tsx +0 -105
  49. package/src/chip/Chip.stories.tsx +0 -26
  50. package/src/chip/ChipOverrides.tsx +0 -111
  51. package/src/chip/__tests__/Chip.spec.tsx +0 -308
  52. package/src/columns/Column.tsx +0 -124
  53. package/src/columns/Columns.stories.tsx +0 -426
  54. package/src/columns/Columns.tsx +0 -76
  55. package/src/description-list/DescriptionList.spec.tsx +0 -137
  56. package/src/description-list/DescriptionList.stories.tsx +0 -148
  57. package/src/description-list/DescriptionList.tsx +0 -170
  58. package/src/dialog/Dialog.playroom.tsx +0 -24
  59. package/src/dialog/Dialog.stories.tsx +0 -60
  60. package/src/dialog/DialogOverrides.ts +0 -39
  61. package/src/dialog/__tests__/Dialog.spec.tsx +0 -219
  62. package/src/drawer/Drawer.playroom.tsx +0 -22
  63. package/src/drawer/Drawer.stories.tsx +0 -194
  64. package/src/drawer/DrawerActions.tsx +0 -69
  65. package/src/drawer/DrawerContent.tsx +0 -30
  66. package/src/drawer/DrawerList.tsx +0 -60
  67. package/src/drawer/DrawerOverrides.ts +0 -19
  68. package/src/drawer/DrawerTitle.tsx +0 -143
  69. package/src/drawer/__tests__/Drawer.spec.tsx +0 -227
  70. package/src/dropdown-button/DropdownButton.stories.tsx +0 -15
  71. package/src/dropdown-button/DropdownButton.tsx +0 -131
  72. package/src/grid/GridStack.tsx +0 -45
  73. package/src/grid/InlineGrid.tsx +0 -56
  74. package/src/icon-button/IconButton.stories.tsx +0 -53
  75. package/src/icon-button/IconButtonOverrides.ts +0 -32
  76. package/src/icon-button/__tests__/IconButton.spec.tsx +0 -124
  77. package/src/index.ts +0 -47
  78. package/src/info-card/InfoCard.stories.tsx +0 -29
  79. package/src/info-card/InfoCard.tsx +0 -95
  80. package/src/info-card/__tests__/InfoCard.spec.tsx +0 -22
  81. package/src/info-tooltip/InfoTooltip.stories.tsx +0 -77
  82. package/src/info-tooltip/InfoTooltip.tsx +0 -72
  83. package/src/info-tooltip/__tests__/InfoTooltip.spec.tsx +0 -166
  84. package/src/inline/Inline.stories.tsx +0 -135
  85. package/src/inline/Inline.tsx +0 -144
  86. package/src/link/Link.stories.tsx +0 -41
  87. package/src/link/LinkOverrides.ts +0 -43
  88. package/src/link/__tests__/Link.spec.tsx +0 -98
  89. package/src/list/ListOverrides.ts +0 -11
  90. package/src/list/__tests__/List.spec.tsx +0 -182
  91. package/src/menu/Menu.stories.tsx +0 -35
  92. package/src/menu/MenuOverrides.ts +0 -17
  93. package/src/menu/__tests__/Menu.spec.tsx +0 -99
  94. package/src/number-field/NumberField.stories.tsx +0 -123
  95. package/src/number-field/NumberField.tsx +0 -98
  96. package/src/overflow-text/OverflowText.stories.tsx +0 -32
  97. package/src/overflow-text/OverflowText.tsx +0 -114
  98. package/src/overflow-text/__tests__/OverflowText.spec.tsx +0 -24
  99. package/src/pagination/Pagination.stories.tsx +0 -36
  100. package/src/pagination/PaginationOverrides.ts +0 -47
  101. package/src/pagination/__tests__/Pagination.spec.tsx +0 -228
  102. package/src/paper/PaperOverrides.ts +0 -10
  103. package/src/paper/__tests__/Paper.spec.tsx +0 -155
  104. package/src/props/AlignProps.ts +0 -22
  105. package/src/props/CollapseProp.ts +0 -13
  106. package/src/props/ResponsiveProp.ts +0 -65
  107. package/src/props/SpaceProp.ts +0 -40
  108. package/src/radio/RadioField.stories.tsx +0 -42
  109. package/src/radio/RadioField.tsx +0 -55
  110. package/src/radio/RadioGroupField.tsx +0 -64
  111. package/src/radio/RadioOverrides.tsx +0 -51
  112. package/src/radio/__tests__/Radio.spec.tsx +0 -90
  113. package/src/responsive/CollapseBreakpoint.ts +0 -21
  114. package/src/responsive/MinBreakpoint.ts +0 -21
  115. package/src/responsive/ResponsiveContext.tsx +0 -57
  116. package/src/snackbar/Snackbar.stories.tsx +0 -196
  117. package/src/snackbar/Snackbar.tsx +0 -83
  118. package/src/snackbar/SnackbarContent.tsx +0 -147
  119. package/src/snackbar/SnackbarOverrides.ts +0 -23
  120. package/src/snackbar/SnackbarStack.tsx +0 -160
  121. package/src/snackbar/__tests__/Snackbar.spec.tsx +0 -196
  122. package/src/stack/Stack.stories.tsx +0 -113
  123. package/src/stack/Stack.tsx +0 -86
  124. package/src/svg-icon/SvgIcon.stories.tsx +0 -29
  125. package/src/svg-icon/SvgIconOverrides.ts +0 -32
  126. package/src/svg-icon/__tests__/SvgIcon.spec.tsx +0 -67
  127. package/src/switch/Switch.stories.tsx +0 -60
  128. package/src/switch/SwitchOverrides.ts +0 -88
  129. package/src/switch/__tests__/Switch.spec.tsx +0 -204
  130. package/src/tabs/Tabs.stories.tsx +0 -40
  131. package/src/tabs/TabsOverrides.ts +0 -45
  132. package/src/tabs/__tests__/Tabs.spec.tsx +0 -226
  133. package/src/tag/Tag.stories.tsx +0 -53
  134. package/src/tag/Tag.tsx +0 -130
  135. package/src/tag/__tests__/Tag.spec.tsx +0 -82
  136. package/src/text-field/TextField.stories.tsx +0 -50
  137. package/src/text-field/TextFieldOverrides.tsx +0 -149
  138. package/src/text-field/__tests__/TextField.spec.tsx +0 -662
  139. package/src/theme/Color.ts +0 -117
  140. package/src/theme/SuperDispatchTheme.ts +0 -3
  141. package/src/theme/ThemeProvider.tsx +0 -179
  142. package/src/theme/__tests__/CssBaseline.spec.tsx +0 -49
  143. package/src/theme/__tests__/ThemeProvider.spec.ts +0 -40
  144. package/src/theme/__tests__/__snapshots__/ThemeProvider.spec.ts.snap +0 -204
  145. package/src/tiles/Tiles.stories.tsx +0 -69
  146. package/src/tiles/Tiles.tsx +0 -163
  147. package/src/tiles/__tests__/Tiles.spec.tsx +0 -221
  148. package/src/toolbar/ToolbarOverrides.ts +0 -14
  149. package/src/toolbar/__tests__/Toolbar.spec.tsx +0 -50
  150. package/src/tooltip/Tooltip.stories.tsx +0 -32
  151. package/src/tooltip/TooltipOverrides.ts +0 -34
  152. package/src/tooltip/__tests__/Tooltip.spec.tsx +0 -182
  153. package/src/typography/Typography.stories.tsx +0 -132
  154. package/src/typography/TypographyOverrides.ts +0 -125
  155. package/src/typography/__tests__/Typography.spec.tsx +0 -253
  156. package/src/utils/ExitTransitionPlaceholder.tsx +0 -22
  157. package/src/utils/ResizeObserver.tsx +0 -28
  158. package/src/utils/VisibilityObserver.tsx +0 -75
  159. package/src/utils/__tests__/ExitTransitionPlaceholder.spec.tsx +0 -34
  160. package/src/utils/isEmptyReactNode.ts +0 -11
  161. package/src/utils/mergeRefs.ts +0 -21
  162. package/src/utils/renderChildren.ts +0 -10
  163. package/src/utils/useUID.ts +0 -9
  164. package/tsconfig.json +0 -19
  165. /package/{pkg/dist-src → dist-src}/adaptive-toolbar/AdaptiveToolbar.js +0 -0
  166. /package/{pkg/dist-src → dist-src}/adaptive-vertical-toolbar/AdaptiveVerticalToolbar.js +0 -0
  167. /package/{pkg/dist-src → dist-src}/app-bar/AppBarOverrides.js +0 -0
  168. /package/{pkg/dist-src → dist-src}/autocomplete/AutocompleteOverrides.js +0 -0
  169. /package/{pkg/dist-src → dist-src}/avatar/AvatarOverrides.js +0 -0
  170. /package/{pkg/dist-src → dist-src}/avatar-button/AvatarButton.js +0 -0
  171. /package/{pkg/dist-src → dist-src}/button/Button.js +0 -0
  172. /package/{pkg/dist-src → dist-src}/button/ButtonOverrides.js +0 -0
  173. /package/{pkg/dist-src → dist-src}/card/CardOverrides.js +0 -0
  174. /package/{pkg/dist-src → dist-src}/card-button/CardButton.js +0 -0
  175. /package/{pkg/dist-src → dist-src}/checkbox/CheckboxField.js +0 -0
  176. /package/{pkg/dist-src → dist-src}/checkbox/CheckboxGroudField.js +0 -0
  177. /package/{pkg/dist-src → dist-src}/checkbox/CheckboxOverrides.js +0 -0
  178. /package/{pkg/dist-src → dist-src}/chip/ChipOverrides.js +0 -0
  179. /package/{pkg/dist-src → dist-src}/columns/Column.js +0 -0
  180. /package/{pkg/dist-src → dist-src}/columns/Columns.js +0 -0
  181. /package/{pkg/dist-src → dist-src}/description-list/DescriptionList.js +0 -0
  182. /package/{pkg/dist-src → dist-src}/dialog/DialogOverrides.js +0 -0
  183. /package/{pkg/dist-src → dist-src}/drawer/DrawerActions.js +0 -0
  184. /package/{pkg/dist-src → dist-src}/drawer/DrawerContent.js +0 -0
  185. /package/{pkg/dist-src → dist-src}/drawer/DrawerList.js +0 -0
  186. /package/{pkg/dist-src → dist-src}/drawer/DrawerOverrides.js +0 -0
  187. /package/{pkg/dist-src → dist-src}/drawer/DrawerTitle.js +0 -0
  188. /package/{pkg/dist-src → dist-src}/dropdown-button/DropdownButton.js +0 -0
  189. /package/{pkg/dist-src → dist-src}/grid/GridStack.js +0 -0
  190. /package/{pkg/dist-src → dist-src}/grid/InlineGrid.js +0 -0
  191. /package/{pkg/dist-src → dist-src}/icon-button/IconButtonOverrides.js +0 -0
  192. /package/{pkg/dist-src → dist-src}/info-card/InfoCard.js +0 -0
  193. /package/{pkg/dist-src → dist-src}/inline/Inline.js +0 -0
  194. /package/{pkg/dist-src → dist-src}/link/LinkOverrides.js +0 -0
  195. /package/{pkg/dist-src → dist-src}/list/ListOverrides.js +0 -0
  196. /package/{pkg/dist-src → dist-src}/menu/MenuOverrides.js +0 -0
  197. /package/{pkg/dist-src → dist-src}/number-field/NumberField.js +0 -0
  198. /package/{pkg/dist-src → dist-src}/overflow-text/OverflowText.js +0 -0
  199. /package/{pkg/dist-src → dist-src}/pagination/PaginationOverrides.js +0 -0
  200. /package/{pkg/dist-src → dist-src}/paper/PaperOverrides.js +0 -0
  201. /package/{pkg/dist-src → dist-src}/props/AlignProps.js +0 -0
  202. /package/{pkg/dist-src → dist-src}/props/CollapseProp.js +0 -0
  203. /package/{pkg/dist-src → dist-src}/props/ResponsiveProp.js +0 -0
  204. /package/{pkg/dist-src → dist-src}/props/SpaceProp.js +0 -0
  205. /package/{pkg/dist-src → dist-src}/radio/RadioField.js +0 -0
  206. /package/{pkg/dist-src → dist-src}/radio/RadioGroupField.js +0 -0
  207. /package/{pkg/dist-src → dist-src}/radio/RadioOverrides.js +0 -0
  208. /package/{pkg/dist-src → dist-src}/responsive/CollapseBreakpoint.js +0 -0
  209. /package/{pkg/dist-src → dist-src}/responsive/MinBreakpoint.js +0 -0
  210. /package/{pkg/dist-src → dist-src}/responsive/ResponsiveContext.js +0 -0
  211. /package/{pkg/dist-src → dist-src}/snackbar/Snackbar.js +0 -0
  212. /package/{pkg/dist-src → dist-src}/snackbar/SnackbarContent.js +0 -0
  213. /package/{pkg/dist-src → dist-src}/snackbar/SnackbarOverrides.js +0 -0
  214. /package/{pkg/dist-src → dist-src}/snackbar/SnackbarStack.js +0 -0
  215. /package/{pkg/dist-src → dist-src}/stack/Stack.js +0 -0
  216. /package/{pkg/dist-src → dist-src}/svg-icon/SvgIconOverrides.js +0 -0
  217. /package/{pkg/dist-src → dist-src}/switch/SwitchOverrides.js +0 -0
  218. /package/{pkg/dist-src → dist-src}/tabs/TabsOverrides.js +0 -0
  219. /package/{pkg/dist-src → dist-src}/tag/Tag.js +0 -0
  220. /package/{pkg/dist-src → dist-src}/text-field/TextFieldOverrides.js +0 -0
  221. /package/{pkg/dist-src → dist-src}/theme/Color.js +0 -0
  222. /package/{pkg/dist-src → dist-src}/theme/SuperDispatchTheme.js +0 -0
  223. /package/{pkg/dist-src → dist-src}/theme/ThemeProvider.js +0 -0
  224. /package/{pkg/dist-src → dist-src}/tiles/Tiles.js +0 -0
  225. /package/{pkg/dist-src → dist-src}/toolbar/ToolbarOverrides.js +0 -0
  226. /package/{pkg/dist-src → dist-src}/tooltip/TooltipOverrides.js +0 -0
  227. /package/{pkg/dist-src → dist-src}/typography/TypographyOverrides.js +0 -0
  228. /package/{pkg/dist-src → dist-src}/utils/ExitTransitionPlaceholder.js +0 -0
  229. /package/{pkg/dist-src → dist-src}/utils/ResizeObserver.js +0 -0
  230. /package/{pkg/dist-src → dist-src}/utils/VisibilityObserver.js +0 -0
  231. /package/{pkg/dist-src → dist-src}/utils/isEmptyReactNode.js +0 -0
  232. /package/{pkg/dist-src → dist-src}/utils/mergeRefs.js +0 -0
  233. /package/{pkg/dist-src → dist-src}/utils/renderChildren.js +0 -0
  234. /package/{pkg/dist-src → dist-src}/utils/useUID.js +0 -0
package/pkg/package.json DELETED
@@ -1,39 +0,0 @@
1
- {
2
- "name": "@superdispatch/ui",
3
- "version": "0.21.8",
4
- "license": "MIT",
5
- "files": [
6
- "dist-*/",
7
- "bin/"
8
- ],
9
- "pika": true,
10
- "sideEffects": false,
11
- "repository": {
12
- "type": "git",
13
- "url": "https://github.com/superdispatch/ui.git"
14
- },
15
- "dependencies": {
16
- "@juggle/resize-observer": "^3.3.1",
17
- "@superdispatch/hooks": "^0.21.0",
18
- "clsx": "^1.1.1",
19
- "react-keyed-flatten-children": "^1.2.0",
20
- "react-number-format": "4.9.4"
21
- },
22
- "peerDependencies": {
23
- "@babel/runtime": "^7.0.0",
24
- "@material-ui/core": "^4.12.2",
25
- "@material-ui/icons": "^4.11.2",
26
- "@material-ui/styles": "^4.11.4",
27
- "@mdi/js": "^6.0.0",
28
- "react": "^17.0.2",
29
- "styled-components": "^5.2.1"
30
- },
31
- "publishConfig": {
32
- "access": "public",
33
- "directory": "pkg"
34
- },
35
- "esnext": "dist-src/index.js",
36
- "module": "dist-web/index.js",
37
- "main": "dist-node/index.js",
38
- "types": "dist-types/index.d.ts"
39
- }
package/playroom.ts DELETED
@@ -1,31 +0,0 @@
1
- export {
2
- AdaptiveToolbar,
3
- AdaptiveVerticalToolbar,
4
- AvatarButton,
5
- CardButton,
6
- CheckboxField,
7
- CheckboxGroupField,
8
- Color,
9
- Column,
10
- Columns,
11
- DescriptionList,
12
- DescriptionListItem,
13
- DrawerActions,
14
- DrawerContent,
15
- DrawerList,
16
- DrawerTitle,
17
- InfoCard,
18
- Inline,
19
- NumberField,
20
- OverflowText,
21
- RadioField,
22
- RadioGroupField,
23
- Snackbar,
24
- SnackbarContent,
25
- Stack,
26
- Tag,
27
- Tiles,
28
- VisibilityObserver,
29
- } from './src';
30
- export { Dialog } from './src/dialog/Dialog.playroom';
31
- export { Drawer } from './src/drawer/Drawer.playroom';
@@ -1,134 +0,0 @@
1
- import * as api from '..';
2
-
3
- it('exposes public api', () => {
4
- expect(api).toMatchInlineSnapshot(`
5
- Object {
6
- "AdaptiveToolbar": React.forwardRef(AdaptiveToolbar),
7
- "AdaptiveVerticalToolbar": React.forwardRef(AdaptiveVerticalToolbar),
8
- "AvatarButton": React.forwardRef(AvatarButton),
9
- "Button": React.forwardRef(Button),
10
- "CardButton": React.forwardRef(CardButton),
11
- "CheckboxField": React.forwardRef(CheckboxField),
12
- "CheckboxGroupField": React.forwardRef(CheckboxGroupField),
13
- "Color": Object {
14
- "Black": "#000",
15
- "Black20": "rgba(0, 0, 0, 0.2)",
16
- "Black50": "rgba(0, 0, 0, 0.5)",
17
- "Blue100": "#A8D1FF",
18
- "Blue200": "#66ADFF",
19
- "Blue300": "#0075FF",
20
- "Blue400": "#0063DB",
21
- "Blue50": "#EBF4FF",
22
- "Blue500": "#0050B2",
23
- "Blue75": "#CCE5FF",
24
- "Dark100": "#8F949E",
25
- "Dark200": "#6A707C",
26
- "Dark300": "#5B6371",
27
- "Dark400": "#323C4E",
28
- "Dark450": "#222F44",
29
- "Dark500": "#192334",
30
- "Green100": "#90EAAE",
31
- "Green200": "#5DDA87",
32
- "Green300": "#1FA84D",
33
- "Green400": "#1E8F46",
34
- "Green50": "#ECF9EF",
35
- "Green500": "#19803D",
36
- "Green75": "#C8F4D1",
37
- "Grey100": "#8F949E",
38
- "Grey200": "#6A707C",
39
- "Grey300": "#5B6371",
40
- "Grey400": "#323C4E",
41
- "Grey450": "#222F44",
42
- "Grey500": "#192334",
43
- "Purple100": "#CBC8EE",
44
- "Purple200": "#A7A1E8",
45
- "Purple300": "#6559CF",
46
- "Purple400": "#473ABB",
47
- "Purple50": "#EFEEFC",
48
- "Purple500": "#3A2F9D",
49
- "Purple75": "#DCDBF5",
50
- "Red100": "#FDC2BA",
51
- "Red200": "#FE988B",
52
- "Red300": "#EE3017",
53
- "Red400": "#D9210D",
54
- "Red50": "#FFEDEB",
55
- "Red500": "#C31909",
56
- "Red75": "#FDD9D3",
57
- "Silver100": "#F6F7F8",
58
- "Silver200": "#F3F5F8",
59
- "Silver300": "#E8ECF0",
60
- "Silver400": "#E1E5EA",
61
- "Silver500": "#C4CDD5",
62
- "Teal100": "#91E3F8",
63
- "Teal200": "#61D3EF",
64
- "Teal300": "#00A0CC",
65
- "Teal400": "#008DB8",
66
- "Teal50": "#E3F6FC",
67
- "Teal500": "#007DA3",
68
- "Teal75": "#BEEDF9",
69
- "Transparent": "rgba(0, 0, 0, 0)",
70
- "White": "#fff",
71
- "White08": "rgba(255, 255, 255, 0.08)",
72
- "White10": "rgba(255, 255, 255, 0.1)",
73
- "White20": "rgba(255, 255, 255, 0.2)",
74
- "White40": "rgba(255, 255, 255, 0.4)",
75
- "White50": "rgba(255, 255, 255, 0.5)",
76
- "Yellow100": "#FFE494",
77
- "Yellow200": "#FFDC6B",
78
- "Yellow300": "#FFCB47",
79
- "Yellow400": "#FFA91F",
80
- "Yellow50": "#FFF9E5",
81
- "Yellow500": "#DB7500",
82
- "Yellow75": "#FFF1C2",
83
- },
84
- "Column": React.forwardRef(Column),
85
- "Columns": React.forwardRef(Columns),
86
- "DescriptionList": React.forwardRef(DescriptionList),
87
- "DescriptionListItem": React.forwardRef(DescriptionListItem),
88
- "DrawerActions": React.forwardRef(DrawerActions),
89
- "DrawerContent": React.forwardRef(DrawerContent),
90
- "DrawerList": React.forwardRef(DrawerList),
91
- "DrawerTitle": React.forwardRef(DrawerTitle),
92
- "DropdownButton": React.forwardRef(DropdownButton),
93
- "ExitTransitionPlaceholder": [Function],
94
- "GridStack": React.forwardRef(GridStack),
95
- "InfoCard": React.forwardRef(InfoCard),
96
- "InfoTooltip": React.forwardRef(InfoTooltip),
97
- "Inline": React.forwardRef(Inline),
98
- "InlineGrid": React.forwardRef(InlineGrid),
99
- "NumberField": React.forwardRef(NumberField),
100
- "OverflowText": React.forwardRef(OverflowText),
101
- "RadioField": React.forwardRef(RadioField),
102
- "RadioGroupField": React.forwardRef(RadioGroupField),
103
- "ResponsiveContextProvider": [Function],
104
- "Snackbar": React.forwardRef(Snackbar),
105
- "SnackbarContent": React.forwardRef(SnackbarContent),
106
- "SnackbarStackConsumer": [Function],
107
- "SnackbarStackProvider": [Function],
108
- "Stack": React.forwardRef(Stack),
109
- "Tag": React.forwardRef(Tag),
110
- "ThemeProvider": [Function],
111
- "Tiles": React.forwardRef(Tiles),
112
- "VisibilityObserver": [Function],
113
- "assignRef": [Function],
114
- "isColorProp": [Function],
115
- "isEmptyReactNode": [Function],
116
- "mergeRefs": [Function],
117
- "parseAlignProp": [Function],
118
- "parseCollapsedBelow": [Function],
119
- "parseResponsiveProp": [Function],
120
- "parseSpaceProp": [Function],
121
- "renderChildren": [Function],
122
- "useCollapseBreakpoint": [Function],
123
- "useMinBreakpoint": [Function],
124
- "useResizeObserver": [Function],
125
- "useResponsiveContext": [Function],
126
- "useResponsiveProp": [Function],
127
- "useResponsivePropRecord": [Function],
128
- "useResponsiveValue": [Function],
129
- "useSnackbarStack": [Function],
130
- "useUID": [Function],
131
- "useVisibilityObserver": [Function],
132
- }
133
- `);
134
- });
@@ -1,50 +0,0 @@
1
- import { Meta } from '@storybook/react';
2
- import { AdaptiveToolbar } from './AdaptiveToolbar';
3
-
4
- export default {
5
- title: 'Surfaces/AdaptiveToolbar',
6
- component: AdaptiveToolbar,
7
- } as Meta;
8
-
9
- export const basic = () => (
10
- <AdaptiveToolbar
11
- items={[
12
- 'Send Offer',
13
- 'Post to SLB',
14
- 'Change Date Ranges',
15
- 'Increase Price By',
16
- 'Mark as Accepted',
17
- 'Send Customer Invoice',
18
- 'Archive',
19
- 'Delete',
20
- ].map((label) => ({ label, key: label }))}
21
- />
22
- );
23
-
24
- export const group = () => (
25
- <AdaptiveToolbar
26
- items={[
27
- { key: 'edit', label: 'Edit' },
28
- { key: 'delete', label: 'Delete' },
29
- { key: 'cancel_order', label: 'Cancel Order' },
30
- { key: 'cancel_offer', label: 'Cancel Offer' },
31
- { key: 'send_offer', label: 'Send Offer', groupKey: '1' },
32
- {
33
- key: 'post_to_slb',
34
- label: 'Post to SLB',
35
- groupKey: '2',
36
- ButtonProps: { color: 'primary' },
37
- dropdown: [
38
- {
39
- key: 'post_to_all',
40
- label: 'Post to SLB & CD',
41
- },
42
- {
43
- key: 'post_to_cd',
44
- label: 'Post to CD',
45
- },
46
- ],
47
- },
48
- ]}
49
- />
50
- );
@@ -1,199 +0,0 @@
1
- import {
2
- Divider,
3
- Grid,
4
- Menu,
5
- MenuItem,
6
- Toolbar,
7
- ToolbarProps,
8
- Typography,
9
- } from '@material-ui/core';
10
- import { MoreHoriz } from '@material-ui/icons';
11
- import { makeStyles } from '@material-ui/styles';
12
- import {
13
- forwardRef,
14
- ForwardRefExoticComponent,
15
- Key,
16
- MouseEvent,
17
- ReactNode,
18
- RefAttributes,
19
- useRef,
20
- useState,
21
- } from 'react';
22
- import { Button, ButtonProps } from '../button/Button';
23
- import { DropdownButton } from '../dropdown-button/DropdownButton';
24
- import { useResizeObserver } from '../utils/ResizeObserver';
25
-
26
- const useStyles = makeStyles(
27
- { actions: { overflow: 'hidden' } },
28
- { name: 'SD-AdaptiveToolbar' },
29
- );
30
-
31
- export interface AdaptiveToolbarDropdownItem {
32
- key: Key;
33
- label: ReactNode;
34
- onClick?: (event: MouseEvent<HTMLElement>) => void;
35
- }
36
-
37
- export interface AdaptiveToolbarItem {
38
- key: Key;
39
- groupKey?: Key;
40
- label: ReactNode;
41
- dropdown?: AdaptiveToolbarDropdownItem[];
42
- onClick?: (event: MouseEvent<HTMLElement>) => void;
43
- ButtonProps?: Omit<ButtonProps, 'type' | 'onClick'>;
44
- }
45
-
46
- export interface AdaptiveToolbarProps
47
- extends RefAttributes<HTMLDivElement>,
48
- Omit<ToolbarProps, 'children'> {
49
- items: AdaptiveToolbarItem[];
50
- }
51
-
52
- export const AdaptiveToolbar: ForwardRefExoticComponent<AdaptiveToolbarProps> =
53
- forwardRef(({ items, ...props }, ref) => {
54
- const styles = useStyles();
55
-
56
- const itemNodes = useRef<Array<null | HTMLElement>>([]);
57
- const optionsButtonRef = useRef<HTMLDivElement>(null);
58
- const [firstHiddenIdx, setFirstHiddenIdx] = useState(-1);
59
-
60
- const menuItems = firstHiddenIdx === -1 ? [] : items.slice(firstHiddenIdx);
61
- const [menuButtonNode, setMenuButtonRef] = useState<HTMLElement>();
62
-
63
- const [rootNode, setRootNode] = useState<null | HTMLDivElement>(null);
64
-
65
- useResizeObserver(rootNode, (node) => {
66
- const rootRect = node.getBoundingClientRect();
67
- const rootWidth = rootRect.left + rootRect.width;
68
-
69
- const optionsButtonRect =
70
- optionsButtonRef.current?.getBoundingClientRect();
71
- const optionsButtonWidth = optionsButtonRect?.width || 0;
72
- const maxRightPosition = rootWidth - optionsButtonWidth;
73
-
74
- const mountedNodes = itemNodes.current.filter(
75
- (x): x is HTMLDivElement => x != null,
76
- );
77
- const hiddenIdx = mountedNodes.findIndex((itemNode, idx) => {
78
- itemNode.removeAttribute('hidden');
79
-
80
- const itemRect = itemNode.getBoundingClientRect();
81
- const itemRightPosition = itemRect.left + itemRect.width;
82
-
83
- // Ignore options button width when checking last item.
84
- if (idx === mountedNodes.length - 1) {
85
- return itemRightPosition > rootWidth;
86
- }
87
-
88
- return itemRightPosition > maxRightPosition;
89
- });
90
-
91
- if (hiddenIdx !== -1) {
92
- mountedNodes.slice(hiddenIdx).forEach((itemNode) => {
93
- itemNode.setAttribute('hidden', 'true');
94
- });
95
- }
96
-
97
- setFirstHiddenIdx(hiddenIdx);
98
- });
99
-
100
- return (
101
- <Toolbar {...props} ref={ref}>
102
- <Grid container={true} spacing={1} ref={setRootNode}>
103
- <Grid item={true} className={styles.actions}>
104
- <Grid container={true} spacing={1} wrap="nowrap" component="div">
105
- {items.map((item, idx) => (
106
- <Grid
107
- key={item.key}
108
- item={true}
109
- ref={(node) => {
110
- itemNodes.current[idx] = node;
111
- }}
112
- >
113
- {item.dropdown ? (
114
- <DropdownButton
115
- type="button"
116
- onClick={item.onClick}
117
- label={item.label}
118
- {...item.ButtonProps}
119
- >
120
- {item.dropdown.map((dropdownItem) => (
121
- <MenuItem
122
- key={dropdownItem.key}
123
- onClick={dropdownItem.onClick}
124
- >
125
- {dropdownItem.label}
126
- </MenuItem>
127
- ))}
128
- </DropdownButton>
129
- ) : (
130
- <Button
131
- type="button"
132
- onClick={item.onClick}
133
- {...item.ButtonProps}
134
- >
135
- <Typography noWrap={true} variant="inherit">
136
- {item.label}
137
- </Typography>
138
- </Button>
139
- )}
140
- </Grid>
141
- ))}
142
- </Grid>
143
- </Grid>
144
-
145
- {menuItems.length > 0 && (
146
- <Grid item={true} ref={optionsButtonRef} component="div">
147
- <Button
148
- type="button"
149
- onClick={({ currentTarget }) => {
150
- setMenuButtonRef(currentTarget);
151
- }}
152
- >
153
- <MoreHoriz />
154
- </Button>
155
-
156
- <Menu
157
- open={!!menuButtonNode}
158
- anchorEl={menuButtonNode}
159
- onClose={() => {
160
- setMenuButtonRef(undefined);
161
- }}
162
- >
163
- {menuItems.map((item, index, arr) => {
164
- const next = arr[index + 1];
165
- return (
166
- <>
167
- <MenuItem
168
- key={item.key}
169
- onClick={(event) => {
170
- item.onClick?.(event);
171
- setMenuButtonRef(undefined);
172
- }}
173
- >
174
- {item.label}
175
- </MenuItem>
176
-
177
- {item.dropdown?.map((dropdownItem) => (
178
- <MenuItem
179
- key={dropdownItem.key}
180
- onClick={(event) => {
181
- dropdownItem.onClick?.(event);
182
- setMenuButtonRef(undefined);
183
- }}
184
- >
185
- {dropdownItem.label}
186
- </MenuItem>
187
- ))}
188
-
189
- {next && item.groupKey !== next.groupKey && <Divider />}
190
- </>
191
- );
192
- })}
193
- </Menu>
194
- </Grid>
195
- )}
196
- </Grid>
197
- </Toolbar>
198
- );
199
- });
@@ -1,11 +0,0 @@
1
- import { renderCSS } from '@superdispatch/ui-testutils';
2
- import { AdaptiveToolbar } from '../AdaptiveToolbar';
3
-
4
- it('checks component css', () => {
5
- expect(renderCSS(<AdaptiveToolbar items={[]} />, ['SD-AdaptiveToolbar']))
6
- .toMatchInlineSnapshot(`
7
- .SD-AdaptiveToolbar-actions {
8
- overflow: hidden;
9
- }
10
- `);
11
- });
@@ -1,49 +0,0 @@
1
- import { Card, CardContent } from '@material-ui/core';
2
- import { Meta } from '@storybook/react';
3
- import { AdaptiveVerticalToolbar } from './AdaptiveVerticalToolbar';
4
-
5
- export default {
6
- title: 'Surfaces/AdaptiveVerticalToolbar',
7
- component: AdaptiveVerticalToolbar,
8
- } as Meta;
9
-
10
- export const basic = () => (
11
- <Card>
12
- <CardContent style={{ resize: 'both', overflow: 'hidden' }}>
13
- <AdaptiveVerticalToolbar
14
- items={[
15
- 'Send Offer',
16
- 'Post to SLB',
17
- 'Change Date Ranges',
18
- 'Increase Price By',
19
- 'Mark as Accepted',
20
- 'Send Customer Invoice',
21
- 'Archive',
22
- 'Delete',
23
- ].map((label) => ({ label, key: label }))}
24
- renderItem={(item) => <li>{item.label}</li>}
25
- />
26
- </CardContent>
27
- </Card>
28
- );
29
-
30
- export const customMore = () => (
31
- <Card>
32
- <CardContent style={{ resize: 'both', overflow: 'hidden' }}>
33
- <AdaptiveVerticalToolbar
34
- items={[
35
- 'Send Offer',
36
- 'Post to SLB',
37
- 'Change Date Ranges',
38
- 'Increase Price By',
39
- 'Mark as Accepted',
40
- 'Send Customer Invoice',
41
- 'Archive',
42
- 'Delete',
43
- ].map((label) => ({ label, key: label }))}
44
- renderItem={(item) => <li>{item.label}</li>}
45
- moreElement={<li>··· More</li>}
46
- />
47
- </CardContent>
48
- </Card>
49
- );
@@ -1,171 +0,0 @@
1
- import { Divider, Grid, Menu, MenuItem } from '@material-ui/core';
2
- import { MoreHoriz } from '@material-ui/icons';
3
- import { makeStyles } from '@material-ui/styles';
4
- import {
5
- cloneElement,
6
- EventHandler,
7
- forwardRef,
8
- ForwardRefExoticComponent,
9
- Key,
10
- MouseEvent,
11
- ReactElement,
12
- ReactNode,
13
- RefAttributes,
14
- useRef,
15
- useState,
16
- } from 'react';
17
- import { Button } from '../button/Button';
18
- import { mergeRefs } from '../utils/mergeRefs';
19
- import { useResizeObserver } from '../utils/ResizeObserver';
20
-
21
- const useStyles = makeStyles(
22
- { root: { overflow: 'hidden', height: '100%' } },
23
- { name: 'SD-AdaptiveVerticalToolbar' },
24
- );
25
-
26
- const defaultMoreElement = (
27
- <Button type="button">
28
- <MoreHoriz />
29
- </Button>
30
- );
31
-
32
- export interface AdaptiveVerticalToolbarItem {
33
- key: Key;
34
- label: ReactNode;
35
- menuGroupKey?: Key;
36
- onClick?: (event: MouseEvent<HTMLElement>) => void;
37
- }
38
-
39
- export interface AdaptiveVerticalToolbarProps
40
- extends RefAttributes<HTMLDivElement> {
41
- disableGutters?: boolean;
42
-
43
- items: AdaptiveVerticalToolbarItem[];
44
- renderItem?: (item: AdaptiveVerticalToolbarItem) => ReactNode;
45
- renderMenuItem?: (item: AdaptiveVerticalToolbarItem) => ReactNode;
46
-
47
- moreElement?: ReactElement<{
48
- onClick: EventHandler<MouseEvent<HTMLElement>>;
49
- }>;
50
- }
51
-
52
- export const AdaptiveVerticalToolbar: ForwardRefExoticComponent<AdaptiveVerticalToolbarProps> =
53
- forwardRef(
54
- (
55
- {
56
- items,
57
- disableGutters,
58
- moreElement = defaultMoreElement,
59
- renderItem = (item: AdaptiveVerticalToolbarItem) => item.label,
60
- renderMenuItem = (item: AdaptiveVerticalToolbarItem) => item.label,
61
- },
62
- ref,
63
- ) => {
64
- const styles = useStyles();
65
- const itemNodes = useRef<Array<null | HTMLElement>>([]);
66
- const optionsButtonRef = useRef<HTMLDivElement>(null);
67
- const [firstHiddenIdx, setFirstHiddenIdx] = useState(-1);
68
-
69
- const menuItems =
70
- firstHiddenIdx === -1 ? [] : items.slice(firstHiddenIdx);
71
- const [menuButtonNode, setMenuButtonRef] = useState<HTMLElement>();
72
-
73
- const [rootNode, setRootNode] = useState<null | HTMLDivElement>(null);
74
-
75
- useResizeObserver(rootNode, (node) => {
76
- const rootRect = node.getBoundingClientRect();
77
- const rootHeight = rootRect.bottom;
78
-
79
- const optionsButtonRect =
80
- optionsButtonRef.current?.getBoundingClientRect();
81
- const optionsButtonWidth = optionsButtonRect?.height || 0;
82
- const maxBottomPosition = rootHeight - optionsButtonWidth;
83
-
84
- const mountedNodes = itemNodes.current.filter(
85
- (x): x is HTMLDivElement => x != null,
86
- );
87
- const hiddenIdx = mountedNodes.findIndex((itemNode, idx) => {
88
- itemNode.removeAttribute('hidden');
89
-
90
- const itemRect = itemNode.getBoundingClientRect();
91
-
92
- // Ignore options button height when checking last item.
93
- if (idx === mountedNodes.length - 1) {
94
- return itemRect.bottom > rootHeight;
95
- }
96
-
97
- return itemRect.bottom > maxBottomPosition;
98
- });
99
-
100
- if (hiddenIdx !== -1) {
101
- mountedNodes.slice(hiddenIdx).forEach((itemNode) => {
102
- itemNode.setAttribute('hidden', 'true');
103
- });
104
- }
105
-
106
- setFirstHiddenIdx(hiddenIdx);
107
- });
108
-
109
- return (
110
- <Grid
111
- direction="column"
112
- container={true}
113
- wrap="nowrap"
114
- className={styles.root}
115
- spacing={disableGutters ? undefined : 1}
116
- ref={mergeRefs(ref, (node) => {
117
- setRootNode(node);
118
- })}
119
- >
120
- {items.map((item, idx) => (
121
- <Grid
122
- key={item.key}
123
- item={true}
124
- ref={(node) => {
125
- itemNodes.current[idx] = node;
126
- }}
127
- >
128
- {renderItem(item)}
129
- </Grid>
130
- ))}
131
-
132
- {menuItems.length > 0 && (
133
- <Grid item={true} ref={optionsButtonRef} component="div">
134
- {cloneElement(moreElement, {
135
- onClick: ({ currentTarget }: MouseEvent<HTMLElement>) => {
136
- setMenuButtonRef(currentTarget);
137
- },
138
- })}
139
-
140
- <Menu
141
- open={!!menuButtonNode}
142
- anchorEl={menuButtonNode}
143
- onClose={() => {
144
- setMenuButtonRef(undefined);
145
- }}
146
- >
147
- {menuItems.flatMap((item, index, arr) => {
148
- const next = arr[index + 1];
149
- return [
150
- <MenuItem
151
- key={item.key}
152
- onClick={(event) => {
153
- item.onClick?.(event);
154
- setMenuButtonRef(undefined);
155
- }}
156
- >
157
- {renderMenuItem(item)}
158
- </MenuItem>,
159
-
160
- next && next.menuGroupKey !== item.menuGroupKey && (
161
- <Divider key={`${item.key}-divider`} />
162
- ),
163
- ];
164
- })}
165
- </Menu>
166
- </Grid>
167
- )}
168
- </Grid>
169
- );
170
- },
171
- );