@dxos/react-ui-stack 0.8.4-main.7ace549 → 0.8.4-main.8360d9e660

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 (109) hide show
  1. package/dist/lib/browser/index.mjs +743 -65
  2. package/dist/lib/browser/index.mjs.map +4 -4
  3. package/dist/lib/browser/meta.json +1 -1
  4. package/dist/lib/node-esm/index.mjs +744 -65
  5. package/dist/lib/node-esm/index.mjs.map +4 -4
  6. package/dist/lib/node-esm/meta.json +1 -1
  7. package/dist/types/src/components/Stack/Stack.d.ts +5 -5
  8. package/dist/types/src/components/Stack/Stack.d.ts.map +1 -1
  9. package/dist/types/src/components/StackContext.d.ts +1 -1
  10. package/dist/types/src/components/StackContext.d.ts.map +1 -1
  11. package/dist/types/src/components/StackItem/MenuSignifier.d.ts.map +1 -1
  12. package/dist/types/src/components/StackItem/StackItem.d.ts +7 -11
  13. package/dist/types/src/components/StackItem/StackItem.d.ts.map +1 -1
  14. package/dist/types/src/components/StackItem/StackItem.stories.d.ts.map +1 -1
  15. package/dist/types/src/components/StackItem/StackItemContent.d.ts +2 -45
  16. package/dist/types/src/components/StackItem/StackItemContent.d.ts.map +1 -1
  17. package/dist/types/src/components/StackItem/StackItemDragHandle.d.ts.map +1 -1
  18. package/dist/types/src/components/StackItem/StackItemHeading.d.ts +1 -1
  19. package/dist/types/src/components/StackItem/StackItemHeading.d.ts.map +1 -1
  20. package/dist/types/src/components/StackItem/StackItemResizeHandle.d.ts +1 -1
  21. package/dist/types/src/components/StackItem/StackItemResizeHandle.d.ts.map +1 -1
  22. package/dist/types/src/components/StackItem/StackItemSigil.d.ts +2 -2
  23. package/dist/types/src/components/StackItem/StackItemSigil.d.ts.map +1 -1
  24. package/dist/types/src/components/index.d.ts +1 -2
  25. package/dist/types/src/components/index.d.ts.map +1 -1
  26. package/dist/types/src/components/{defs.d.ts → types.d.ts} +1 -1
  27. package/dist/types/src/components/types.d.ts.map +1 -0
  28. package/dist/types/src/hooks/useStackDropForElements.d.ts +7 -5
  29. package/dist/types/src/hooks/useStackDropForElements.d.ts.map +1 -1
  30. package/dist/types/src/index.d.ts +0 -1
  31. package/dist/types/src/index.d.ts.map +1 -1
  32. package/dist/types/src/translations.d.ts +2 -2
  33. package/dist/types/src/translations.d.ts.map +1 -1
  34. package/dist/types/tsconfig.tsbuildinfo +1 -1
  35. package/package.json +41 -38
  36. package/src/components/Stack/Stack.stories.tsx +2 -2
  37. package/src/components/Stack/Stack.tsx +13 -11
  38. package/src/components/StackContext.tsx +1 -1
  39. package/src/components/StackItem/MenuSignifier.tsx +2 -9
  40. package/src/components/StackItem/StackItem.stories.tsx +7 -5
  41. package/src/components/StackItem/StackItem.tsx +25 -13
  42. package/src/components/StackItem/StackItemContent.tsx +23 -54
  43. package/src/components/StackItem/StackItemDragHandle.tsx +4 -3
  44. package/src/components/StackItem/StackItemHeading.tsx +14 -13
  45. package/src/components/StackItem/StackItemResizeHandle.tsx +1 -1
  46. package/src/components/StackItem/StackItemSigil.tsx +8 -5
  47. package/src/components/index.ts +2 -2
  48. package/src/hooks/useStackDropForElements.ts +17 -10
  49. package/src/index.ts +0 -3
  50. package/src/playwright/playwright.config.ts +1 -1
  51. package/src/translations.ts +1 -1
  52. package/dist/lib/browser/chunk-3F2KBXLP.mjs +0 -1482
  53. package/dist/lib/browser/chunk-3F2KBXLP.mjs.map +0 -7
  54. package/dist/lib/browser/testing/index.mjs +0 -31
  55. package/dist/lib/browser/testing/index.mjs.map +0 -7
  56. package/dist/lib/node-esm/chunk-SYKFLQGK.mjs +0 -1484
  57. package/dist/lib/node-esm/chunk-SYKFLQGK.mjs.map +0 -7
  58. package/dist/lib/node-esm/testing/index.mjs +0 -32
  59. package/dist/lib/node-esm/testing/index.mjs.map +0 -7
  60. package/dist/types/src/components/Image/Image.d.ts +0 -14
  61. package/dist/types/src/components/Image/Image.d.ts.map +0 -1
  62. package/dist/types/src/components/Image/Image.stories.d.ts +0 -33
  63. package/dist/types/src/components/Image/Image.stories.d.ts.map +0 -1
  64. package/dist/types/src/components/Image/index.d.ts +0 -2
  65. package/dist/types/src/components/Image/index.d.ts.map +0 -1
  66. package/dist/types/src/components/defs.d.ts.map +0 -1
  67. package/dist/types/src/components/deprecated/LayoutControls.d.ts +0 -19
  68. package/dist/types/src/components/deprecated/LayoutControls.d.ts.map +0 -1
  69. package/dist/types/src/exemplars/Card/Card.d.ts +0 -69
  70. package/dist/types/src/exemplars/Card/Card.d.ts.map +0 -1
  71. package/dist/types/src/exemplars/Card/Card.stories.d.ts +0 -21
  72. package/dist/types/src/exemplars/Card/Card.stories.d.ts.map +0 -1
  73. package/dist/types/src/exemplars/Card/CardDragPreview.d.ts +0 -6
  74. package/dist/types/src/exemplars/Card/CardDragPreview.d.ts.map +0 -1
  75. package/dist/types/src/exemplars/Card/fragments.d.ts +0 -13
  76. package/dist/types/src/exemplars/Card/fragments.d.ts.map +0 -1
  77. package/dist/types/src/exemplars/Card/index.d.ts +0 -4
  78. package/dist/types/src/exemplars/Card/index.d.ts.map +0 -1
  79. package/dist/types/src/exemplars/CardStack/CardStack.d.ts +0 -42
  80. package/dist/types/src/exemplars/CardStack/CardStack.d.ts.map +0 -1
  81. package/dist/types/src/exemplars/CardStack/CardStack.stories.d.ts +0 -15
  82. package/dist/types/src/exemplars/CardStack/CardStack.stories.d.ts.map +0 -1
  83. package/dist/types/src/exemplars/CardStack/CardStackDragPreview.d.ts +0 -9
  84. package/dist/types/src/exemplars/CardStack/CardStackDragPreview.d.ts.map +0 -1
  85. package/dist/types/src/exemplars/CardStack/index.d.ts +0 -3
  86. package/dist/types/src/exemplars/CardStack/index.d.ts.map +0 -1
  87. package/dist/types/src/exemplars/index.d.ts +0 -3
  88. package/dist/types/src/exemplars/index.d.ts.map +0 -1
  89. package/dist/types/src/testing/CardContainer.d.ts +0 -6
  90. package/dist/types/src/testing/CardContainer.d.ts.map +0 -1
  91. package/dist/types/src/testing/index.d.ts +0 -2
  92. package/dist/types/src/testing/index.d.ts.map +0 -1
  93. package/src/components/Image/Image.stories.tsx +0 -84
  94. package/src/components/Image/Image.tsx +0 -222
  95. package/src/components/Image/index.ts +0 -5
  96. package/src/components/deprecated/LayoutControls.tsx +0 -109
  97. package/src/exemplars/Card/Card.stories.tsx +0 -64
  98. package/src/exemplars/Card/Card.tsx +0 -210
  99. package/src/exemplars/Card/CardDragPreview.tsx +0 -22
  100. package/src/exemplars/Card/fragments.ts +0 -24
  101. package/src/exemplars/Card/index.ts +0 -7
  102. package/src/exemplars/CardStack/CardStack.stories.tsx +0 -173
  103. package/src/exemplars/CardStack/CardStack.tsx +0 -139
  104. package/src/exemplars/CardStack/CardStackDragPreview.tsx +0 -61
  105. package/src/exemplars/CardStack/index.ts +0 -6
  106. package/src/exemplars/index.ts +0 -6
  107. package/src/testing/CardContainer.tsx +0 -37
  108. package/src/testing/index.ts +0 -5
  109. /package/src/components/{defs.ts → types.ts} +0 -0
@@ -4,11 +4,11 @@
4
4
 
5
5
  import React, { Fragment, type PropsWithChildren, forwardRef, useState } from 'react';
6
6
 
7
- import { type ActionLike } from '@dxos/app-graph';
7
+ import { type Node } from '@dxos/app-graph';
8
8
  import { keySymbols } from '@dxos/keyboard';
9
9
  import { Button, type ButtonProps, DropdownMenu, Icon, toLocalizedString, useTranslation } from '@dxos/react-ui';
10
10
  import { type AttendableId, type Related, useAttention } from '@dxos/react-ui-attention';
11
- import { descriptionText, mx } from '@dxos/react-ui-theme';
11
+ import { mx } from '@dxos/ui-theme';
12
12
  import { getHostPlatform } from '@dxos/util';
13
13
 
14
14
  import { translationKey } from '../../translations';
@@ -23,7 +23,7 @@ export type KeyBinding = {
23
23
  unknown?: string;
24
24
  };
25
25
 
26
- export type StackItemSigilAction = Pick<ActionLike, 'id' | 'properties' | 'data'>;
26
+ export type StackItemSigilAction = Pick<Node.ActionLike, 'id' | 'properties' | 'data'>;
27
27
 
28
28
  export type StackItemSigilButtonProps = Omit<ButtonProps, 'variant'> &
29
29
  AttendableId &
@@ -40,7 +40,10 @@ export const StackItemSigilButton = forwardRef<HTMLButtonElement, StackItemSigil
40
40
  <Button
41
41
  {...props}
42
42
  variant={variant}
43
- classNames={['shrink-0 pli-0 min-bs-0 is-[--rail-action] bs-[--rail-action] relative app-no-drag', classNames]}
43
+ classNames={[
44
+ 'shrink-0 px-0 min-h-0 w-(--dx-rail-action) h-(--dx-rail-action) relative dx-app-no-drag',
45
+ classNames,
46
+ ]}
44
47
  ref={forwardedRef}
45
48
  >
46
49
  {isMenu && <MenuSignifierHorizontal />}
@@ -133,7 +136,7 @@ export const StackItemSigil = forwardRef<HTMLButtonElement, StackItemSigilProps>
133
136
  </DropdownMenu.ItemIndicator>
134
137
  )}
135
138
  {shortcut && (
136
- <span className={mx('shrink-0', descriptionText)}>{keySymbols(shortcut).join('')}</span>
139
+ <span className={mx('shrink-0', 'text-description')}>{keySymbols(shortcut).join('')}</span>
137
140
  )}
138
141
  </Root>
139
142
  );
@@ -2,8 +2,8 @@
2
2
  // Copyright 2024 DXOS.org
3
3
  //
4
4
 
5
- export type * from './defs';
5
+ export type * from './types';
6
6
 
7
- export * from './Image';
8
7
  export * from './Stack';
8
+
9
9
  export * from './StackItem';
@@ -12,8 +12,21 @@ import { type Orientation, type StackItemData, type StackItemRearrangeHandler }
12
12
 
13
13
  const noop = () => {};
14
14
 
15
+ export type UseStackDropForElementsProps = {
16
+ id?: string;
17
+ element: HTMLDivElement | null;
18
+ scrollElement?: HTMLDivElement | null;
19
+ orientation: Orientation;
20
+ selfDroppable: boolean;
21
+ onRearrange?: StackItemRearrangeHandler;
22
+ };
23
+
24
+ export type UseStackDropForElements = {
25
+ dropping: boolean;
26
+ };
27
+
15
28
  /**
16
- * Hook to handle drag and drop functionality for Stack components.
29
+ * Hook to handle drag-and-drop functionality for Stack components.
17
30
  */
18
31
  export const useStackDropForElements = ({
19
32
  id,
@@ -22,14 +35,7 @@ export const useStackDropForElements = ({
22
35
  orientation,
23
36
  selfDroppable,
24
37
  onRearrange,
25
- }: {
26
- id?: string;
27
- element: HTMLDivElement | null;
28
- scrollElement?: HTMLDivElement | null;
29
- orientation: Orientation;
30
- selfDroppable: boolean;
31
- onRearrange?: StackItemRearrangeHandler;
32
- }) => {
38
+ }: UseStackDropForElementsProps): UseStackDropForElements => {
33
39
  const [dropping, setDropping] = useState(false);
34
40
 
35
41
  useLayoutEffect(() => {
@@ -39,6 +45,7 @@ export const useStackDropForElements = ({
39
45
 
40
46
  const acceptSourceType = orientation === 'horizontal' ? 'column' : 'card';
41
47
 
48
+ // TODO(burdon): Use monitor?
42
49
  return combine(
43
50
  selfDroppable
44
51
  ? dropTargetForElements({
@@ -78,7 +85,7 @@ export const useStackDropForElements = ({
78
85
  })
79
86
  : noop,
80
87
  );
81
- }, [element, scrollElement, selfDroppable, orientation, id, onRearrange]);
88
+ }, [id, element, scrollElement, selfDroppable, orientation, onRearrange]);
82
89
 
83
90
  return { dropping };
84
91
  };
package/src/index.ts CHANGED
@@ -2,8 +2,5 @@
2
2
  // Copyright 2022 DXOS.org
3
3
  //
4
4
 
5
- // TODO(thure): Consider exporting exemplars from separate endpoints.
6
-
7
5
  export * from './components';
8
- export * from './exemplars';
9
6
  export * from './translations';
@@ -10,7 +10,7 @@ export default defineConfig({
10
10
  ...e2ePreset(import.meta.dirname),
11
11
  // TODO(wittjosiah): Avoid hard-coding ports.
12
12
  webServer: {
13
- command: 'moon run storybook:serve-e2e -- --port=9003',
13
+ command: 'pnpm storybook dev --ci --quiet --port=9003 --config-dir=.storybook',
14
14
  port: 9003,
15
15
  reuseExistingServer: false,
16
16
  },
@@ -4,7 +4,7 @@
4
4
 
5
5
  import { type Resource } from '@dxos/react-ui';
6
6
 
7
- export const translationKey = 'react-ui-stack';
7
+ export const translationKey = '@dxos/react-ui-stack';
8
8
 
9
9
  export const translations = [
10
10
  {