@dxos/react-ui 0.8.1 → 0.8.2-main.10c050d

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 (135) hide show
  1. package/dist/lib/browser/chunk-5Y5JI6KC.mjs +4355 -0
  2. package/dist/lib/browser/chunk-5Y5JI6KC.mjs.map +7 -0
  3. package/dist/lib/browser/index.mjs +75 -2986
  4. package/dist/lib/browser/index.mjs.map +4 -4
  5. package/dist/lib/browser/meta.json +1 -1
  6. package/dist/lib/browser/testing/index.mjs +85 -0
  7. package/dist/lib/browser/testing/index.mjs.map +7 -0
  8. package/dist/lib/node/chunk-KMS7RFL7.cjs +4340 -0
  9. package/dist/lib/node/chunk-KMS7RFL7.cjs.map +7 -0
  10. package/dist/lib/node/index.cjs +71 -2946
  11. package/dist/lib/node/index.cjs.map +4 -4
  12. package/dist/lib/node/meta.json +1 -1
  13. package/dist/lib/node/testing/index.cjs +114 -0
  14. package/dist/lib/node/testing/index.cjs.map +7 -0
  15. package/dist/lib/node-esm/chunk-ANVE7WX5.mjs +4357 -0
  16. package/dist/lib/node-esm/chunk-ANVE7WX5.mjs.map +7 -0
  17. package/dist/lib/node-esm/index.mjs +74 -2986
  18. package/dist/lib/node-esm/index.mjs.map +4 -4
  19. package/dist/lib/node-esm/meta.json +1 -1
  20. package/dist/lib/node-esm/testing/index.mjs +86 -0
  21. package/dist/lib/node-esm/testing/index.mjs.map +7 -0
  22. package/dist/types/src/components/Avatars/Avatar.d.ts +4 -4
  23. package/dist/types/src/components/Avatars/Avatar.d.ts.map +1 -1
  24. package/dist/types/src/components/Avatars/Avatar.stories.d.ts +3 -3
  25. package/dist/types/src/components/Avatars/Avatar.stories.d.ts.map +1 -1
  26. package/dist/types/src/components/Avatars/AvatarGroup.stories.d.ts +0 -1
  27. package/dist/types/src/components/Avatars/AvatarGroup.stories.d.ts.map +1 -1
  28. package/dist/types/src/components/Buttons/Button.stories.d.ts +10 -44
  29. package/dist/types/src/components/Buttons/Button.stories.d.ts.map +1 -1
  30. package/dist/types/src/components/Buttons/IconButton.d.ts +4 -6
  31. package/dist/types/src/components/Buttons/IconButton.d.ts.map +1 -1
  32. package/dist/types/src/components/Buttons/IconButton.stories.d.ts +7 -6
  33. package/dist/types/src/components/Buttons/IconButton.stories.d.ts.map +1 -1
  34. package/dist/types/src/components/Buttons/Toggle.stories.d.ts.map +1 -1
  35. package/dist/types/src/components/Buttons/ToggleGroup.stories.d.ts +1 -4
  36. package/dist/types/src/components/Buttons/ToggleGroup.stories.d.ts.map +1 -1
  37. package/dist/types/src/components/Clipboard/ClipboardProvider.d.ts.map +1 -1
  38. package/dist/types/src/components/Clipboard/CopyButton.d.ts +2 -1
  39. package/dist/types/src/components/Clipboard/CopyButton.d.ts.map +1 -1
  40. package/dist/types/src/components/Clipboard/index.d.ts +2 -2
  41. package/dist/types/src/components/DensityProvider/DensityProvider.d.ts.map +1 -1
  42. package/dist/types/src/components/Dialogs/AlertDialog.stories.d.ts +2 -2
  43. package/dist/types/src/components/Dialogs/AlertDialog.stories.d.ts.map +1 -1
  44. package/dist/types/src/components/Dialogs/Dialog.d.ts +2 -2
  45. package/dist/types/src/components/Dialogs/Dialog.d.ts.map +1 -1
  46. package/dist/types/src/components/Dialogs/Dialog.stories.d.ts +2 -2
  47. package/dist/types/src/components/Dialogs/Dialog.stories.d.ts.map +1 -1
  48. package/dist/types/src/components/ElevationProvider/ElevationProvider.d.ts.map +1 -1
  49. package/dist/types/src/components/Input/Input.d.ts +1 -1
  50. package/dist/types/src/components/Input/Input.d.ts.map +1 -1
  51. package/dist/types/src/components/Input/Input.stories.d.ts +33 -159
  52. package/dist/types/src/components/Input/Input.stories.d.ts.map +1 -1
  53. package/dist/types/src/components/Lists/ListDropIndicator.d.ts.map +1 -1
  54. package/dist/types/src/components/Lists/Tree.stories.d.ts.map +1 -1
  55. package/dist/types/src/components/Lists/TreeDropIndicator.d.ts.map +1 -1
  56. package/dist/types/src/components/Lists/Treegrid.stories.d.ts +1 -1
  57. package/dist/types/src/components/Lists/Treegrid.stories.d.ts.map +1 -1
  58. package/dist/types/src/components/Main/Main.d.ts.map +1 -1
  59. package/dist/types/src/components/Main/Main.stories.d.ts.map +1 -1
  60. package/dist/types/src/components/Main/useSwipeToDismiss.d.ts.map +1 -1
  61. package/dist/types/src/components/Message/Message.stories.d.ts +8 -2
  62. package/dist/types/src/components/Message/Message.stories.d.ts.map +1 -1
  63. package/dist/types/src/components/Popover/Popover.d.ts +15 -6
  64. package/dist/types/src/components/Popover/Popover.d.ts.map +1 -1
  65. package/dist/types/src/components/Popover/Popover.stories.d.ts +5 -1
  66. package/dist/types/src/components/Popover/Popover.stories.d.ts.map +1 -1
  67. package/dist/types/src/components/ScrollArea/ScrollArea.d.ts.map +1 -1
  68. package/dist/types/src/components/ScrollArea/ScrollArea.stories.d.ts.map +1 -1
  69. package/dist/types/src/components/Status/Status.stories.d.ts.map +1 -1
  70. package/dist/types/src/components/ThemeProvider/ThemeProvider.d.ts.map +1 -1
  71. package/dist/types/src/components/ThemeProvider/TranslationsProvider.d.ts +1 -1
  72. package/dist/types/src/components/ThemeProvider/TranslationsProvider.d.ts.map +1 -1
  73. package/dist/types/src/components/Toast/Toast.stories.d.ts +2 -2
  74. package/dist/types/src/components/Toast/Toast.stories.d.ts.map +1 -1
  75. package/dist/types/src/components/Toolbar/Toolbar.stories.d.ts.map +1 -1
  76. package/dist/types/src/components/Tooltip/Tooltip.d.ts +92 -20
  77. package/dist/types/src/components/Tooltip/Tooltip.d.ts.map +1 -1
  78. package/dist/types/src/components/Tooltip/Tooltip.stories.d.ts +40 -17
  79. package/dist/types/src/components/Tooltip/Tooltip.stories.d.ts.map +1 -1
  80. package/dist/types/src/components/index.d.ts +1 -1
  81. package/dist/types/src/components/index.d.ts.map +1 -1
  82. package/dist/types/src/hooks/useDensityContext.d.ts.map +1 -1
  83. package/dist/types/src/hooks/useElevationContext.d.ts.map +1 -1
  84. package/dist/types/src/hooks/useIconHref.d.ts.map +1 -1
  85. package/dist/types/src/hooks/useSafeCollisionPadding.d.ts.map +1 -1
  86. package/dist/types/src/hooks/useVisualViewport.d.ts.map +1 -1
  87. package/dist/types/src/playground/Controls.stories.d.ts +1 -1
  88. package/dist/types/src/playground/Controls.stories.d.ts.map +1 -1
  89. package/dist/types/src/playground/Custom.stories.d.ts +8 -0
  90. package/dist/types/src/playground/Custom.stories.d.ts.map +1 -0
  91. package/dist/types/src/testing/decorators/index.d.ts +1 -1
  92. package/dist/types/src/testing/decorators/index.d.ts.map +1 -1
  93. package/dist/types/src/testing/decorators/{withVariants.d.ts → withSurfaceVariantsLayout.d.ts} +2 -3
  94. package/dist/types/src/testing/decorators/withSurfaceVariantsLayout.d.ts.map +1 -0
  95. package/dist/types/tsconfig.tsbuildinfo +1 -1
  96. package/package.json +25 -15
  97. package/src/components/Avatars/Avatar.stories.tsx +27 -27
  98. package/src/components/Avatars/Avatar.tsx +24 -21
  99. package/src/components/Avatars/AvatarGroup.stories.tsx +4 -5
  100. package/src/components/Breadcrumb/Breadcrumb.stories.tsx +2 -2
  101. package/src/components/Buttons/Button.stories.tsx +20 -15
  102. package/src/components/Buttons/IconButton.stories.tsx +9 -10
  103. package/src/components/Buttons/IconButton.tsx +9 -38
  104. package/src/components/Buttons/Toggle.stories.tsx +2 -2
  105. package/src/components/Buttons/ToggleGroup.stories.tsx +3 -7
  106. package/src/components/Clipboard/CopyButton.tsx +22 -24
  107. package/src/components/Dialogs/AlertDialog.stories.tsx +4 -11
  108. package/src/components/Dialogs/Dialog.stories.tsx +3 -3
  109. package/src/components/Dialogs/Dialog.tsx +8 -4
  110. package/src/components/Input/Input.stories.tsx +69 -58
  111. package/src/components/Input/Input.tsx +1 -0
  112. package/src/components/Lists/Tree.stories.tsx +2 -2
  113. package/src/components/Lists/Treegrid.stories.tsx +12 -12
  114. package/src/components/Main/Main.stories.tsx +2 -2
  115. package/src/components/Main/Main.tsx +1 -0
  116. package/src/components/Menus/ContextMenu.stories.tsx +2 -2
  117. package/src/components/Menus/DropdownMenu.stories.tsx +2 -2
  118. package/src/components/Message/Message.stories.tsx +10 -4
  119. package/src/components/Popover/Popover.stories.tsx +2 -2
  120. package/src/components/Popover/Popover.tsx +8 -4
  121. package/src/components/ScrollArea/ScrollArea.stories.tsx +4 -4
  122. package/src/components/ScrollArea/ScrollArea.tsx +3 -0
  123. package/src/components/Select/Select.stories.tsx +2 -2
  124. package/src/components/Toast/Toast.stories.tsx +15 -10
  125. package/src/components/Toolbar/Toolbar.stories.tsx +2 -2
  126. package/src/components/Tooltip/Tooltip.stories.tsx +43 -18
  127. package/src/components/Tooltip/Tooltip.tsx +733 -58
  128. package/src/components/index.ts +1 -1
  129. package/src/playground/Controls.stories.tsx +4 -4
  130. package/src/playground/Custom.stories.tsx +137 -0
  131. package/src/playground/Typography.stories.tsx +2 -2
  132. package/src/testing/decorators/index.ts +1 -1
  133. package/src/testing/decorators/withSurfaceVariantsLayout.tsx +53 -0
  134. package/dist/types/src/testing/decorators/withVariants.d.ts.map +0 -1
  135. package/src/testing/decorators/withVariants.tsx +0 -45
@@ -13,27 +13,27 @@ import { Button } from '../Buttons';
13
13
  type ActionTriggerProps = { altText: string; trigger: ReactNode };
14
14
 
15
15
  type StorybookToastProps = Partial<{
16
- openTrigger: string;
17
16
  title: string;
18
17
  description: string;
19
18
  actionTriggers: ActionTriggerProps[];
19
+ openTrigger: string;
20
20
  closeTrigger: ReactNode;
21
21
  }>;
22
22
 
23
- const StorybookToast = (props: StorybookToastProps) => {
23
+ const DefaultStory = ({ title, description, actionTriggers, openTrigger, closeTrigger }: StorybookToastProps) => {
24
24
  const [open, setOpen] = useState(true);
25
25
  return (
26
26
  <Toast.Provider>
27
- <Button onClick={() => setOpen(true)}>{props.openTrigger}</Button>
27
+ <Button onClick={() => setOpen(true)}>{openTrigger}</Button>
28
28
  <Toast.Viewport />
29
29
  <Toast.Root open={open} onOpenChange={setOpen}>
30
30
  <Toast.Body>
31
- <Toast.Title>{props.title}</Toast.Title>
32
- <Toast.Description>{props.description}</Toast.Description>
31
+ <Toast.Title>{title}</Toast.Title>
32
+ <Toast.Description>{description}</Toast.Description>
33
33
  </Toast.Body>
34
34
  <Toast.Actions>
35
- <Toast.Close asChild={typeof props.closeTrigger !== 'string'}>{props.closeTrigger}</Toast.Close>
36
- {(props.actionTriggers || []).map(({ altText, trigger }: ActionTriggerProps, index: number) => (
35
+ <Toast.Close asChild={typeof closeTrigger !== 'string'}>{closeTrigger}</Toast.Close>
36
+ {(actionTriggers || []).map(({ altText, trigger }: ActionTriggerProps, index: number) => (
37
37
  <Toast.Action key={index} altText={altText} asChild={typeof trigger !== 'string'}>
38
38
  {trigger}
39
39
  </Toast.Action>
@@ -47,7 +47,7 @@ const StorybookToast = (props: StorybookToastProps) => {
47
47
  export default {
48
48
  title: 'ui/react-ui-core/Toast',
49
49
  component: Toast,
50
- render: StorybookToast,
50
+ render: DefaultStory,
51
51
  decorators: [withTheme],
52
52
  parameters: { chromatic: { disableSnapshot: false } },
53
53
  };
@@ -55,9 +55,14 @@ export default {
55
55
  export const Default = {
56
56
  args: {
57
57
  openTrigger: 'Open toast',
58
- title: 'Hi, this is a toast',
58
+ title: 'This is a toast',
59
59
  description: 'This goes away on its own with a timer.',
60
- actionTriggers: [{ altText: 'Press F5 to reload the page', trigger: <Button variant='primary'>Reload</Button> }],
60
+ actionTriggers: [
61
+ {
62
+ altText: 'Press F5 to reload the page',
63
+ trigger: <Button variant='primary'>Reload</Button>,
64
+ },
65
+ ],
61
66
  closeTrigger: <Button>Close</Button>,
62
67
  },
63
68
  parameters: {
@@ -14,7 +14,7 @@ import { Select } from '../Select';
14
14
 
15
15
  type StorybookToolbarProps = {};
16
16
 
17
- const StorybookToolbar = (props: StorybookToolbarProps) => {
17
+ const DefaultStory = (props: StorybookToolbarProps) => {
18
18
  return (
19
19
  <Toolbar.Root>
20
20
  {/* TODO(burdon): Should be fixed width (regardless of selection). */}
@@ -72,7 +72,7 @@ const StorybookToolbar = (props: StorybookToolbarProps) => {
72
72
  export default {
73
73
  title: 'ui/react-ui-core/Toolbar',
74
74
  component: Toolbar,
75
- render: StorybookToolbar,
75
+ render: DefaultStory,
76
76
  decorators: [withTheme],
77
77
  parameters: { chromatic: { disableSnapshot: false } },
78
78
  };
@@ -3,55 +3,80 @@
3
3
  //
4
4
 
5
5
  import '@dxos-theme';
6
-
7
6
  import React from 'react';
8
7
 
8
+ import { faker } from '@dxos/random';
9
+
9
10
  import { Tooltip } from './Tooltip';
10
11
  import { withTheme } from '../../testing';
11
12
  import { Button } from '../Buttons';
12
13
 
13
- type StoryTooltipProps = {
14
- content: string;
14
+ type StoryProps = {
15
+ tooltips: { label: string; content: string }[];
15
16
  defaultOpen?: boolean;
16
17
  };
17
18
 
18
- const StoryTooltip = ({ content, defaultOpen }: StoryTooltipProps) => (
19
- <Tooltip.Provider>
20
- <Tooltip.Root defaultOpen={defaultOpen}>
21
- <Tooltip.Trigger asChild>
22
- <Button>Trigger tooltip</Button>
23
- </Tooltip.Trigger>
24
- <Tooltip.Content side='right'>
25
- <Tooltip.Arrow />
26
- {content}
27
- </Tooltip.Content>
28
- </Tooltip.Root>
19
+ const DefaultStory = ({ tooltips, defaultOpen }: StoryProps) => (
20
+ <Tooltip.Provider defaultOpen={defaultOpen}>
21
+ <div role='none' className='is-32'>
22
+ {tooltips.map(({ label, content }, i) => (
23
+ <Tooltip.Trigger asChild key={i} content={content} side='right'>
24
+ <Button classNames='block is-full'>{label}</Button>
25
+ </Tooltip.Trigger>
26
+ ))}
27
+ </div>
29
28
  </Tooltip.Provider>
30
29
  );
31
30
 
32
31
  export default {
33
32
  title: 'ui/react-ui-core/Tooltip',
34
33
  component: Tooltip,
35
- render: StoryTooltip,
34
+ render: DefaultStory,
36
35
  decorators: [withTheme],
37
36
  parameters: { chromatic: { disableSnapshot: false } },
38
37
  };
39
38
 
40
39
  export const Default = {
41
40
  args: {
42
- content: 'This is the tooltip content',
41
+ tooltips: [
42
+ {
43
+ label: 'Tooltip trigger',
44
+ content: 'This is the tooltip content',
45
+ },
46
+ ],
43
47
  },
44
48
  parameters: {
45
49
  chromatic: { delay: 500 },
46
50
  },
47
51
  };
48
52
 
49
- export const Testing = {
53
+ export const DefaultOpen = {
50
54
  args: {
51
55
  defaultOption: true,
52
- content: 'This is the tooltip content',
56
+ tooltips: [
57
+ {
58
+ label: 'Tooltip trigger',
59
+ content: 'This is the tooltip content',
60
+ },
61
+ ],
53
62
  },
54
63
  parameters: {
55
64
  chromatic: { delay: 500 },
56
65
  },
57
66
  };
67
+
68
+ export const StressTest = {
69
+ args: {
70
+ defaultOption: true,
71
+ tooltips: faker.helpers.multiple(
72
+ () => ({
73
+ label: faker.lorem.words(2),
74
+ content: faker.lorem.words(5),
75
+ }),
76
+ { count: 32 },
77
+ ),
78
+ },
79
+ parameters: {
80
+ chromatic: { disableSnapshot: true },
81
+ },
82
+ };