@dxos/react-ui-stack 0.8.4-main.84f28bd → 0.8.4-main.ae835ea

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 (88) hide show
  1. package/dist/lib/browser/chunk-T4ZCIFCF.mjs +1448 -0
  2. package/dist/lib/browser/chunk-T4ZCIFCF.mjs.map +7 -0
  3. package/dist/lib/browser/index.mjs +45 -1158
  4. package/dist/lib/browser/index.mjs.map +4 -4
  5. package/dist/lib/browser/meta.json +1 -1
  6. package/dist/lib/browser/playwright/index.mjs +61 -0
  7. package/dist/lib/browser/playwright/index.mjs.map +7 -0
  8. package/dist/lib/browser/testing/index.mjs +25 -51
  9. package/dist/lib/browser/testing/index.mjs.map +4 -4
  10. package/dist/lib/node-esm/chunk-G2QYUH52.mjs +1450 -0
  11. package/dist/lib/node-esm/chunk-G2QYUH52.mjs.map +7 -0
  12. package/dist/lib/node-esm/index.mjs +45 -1159
  13. package/dist/lib/node-esm/index.mjs.map +4 -4
  14. package/dist/lib/node-esm/meta.json +1 -1
  15. package/dist/lib/node-esm/playwright/index.mjs +63 -0
  16. package/dist/lib/node-esm/playwright/index.mjs.map +7 -0
  17. package/dist/lib/node-esm/testing/index.mjs +24 -51
  18. package/dist/lib/node-esm/testing/index.mjs.map +4 -4
  19. package/dist/types/src/components/Image/Image.d.ts +14 -0
  20. package/dist/types/src/components/Image/Image.d.ts.map +1 -0
  21. package/dist/types/src/components/Image/Image.stories.d.ts +32 -0
  22. package/dist/types/src/components/Image/Image.stories.d.ts.map +1 -0
  23. package/dist/types/src/components/Image/index.d.ts +2 -0
  24. package/dist/types/src/components/Image/index.d.ts.map +1 -0
  25. package/dist/types/src/components/Stack/Stack.d.ts +10 -2
  26. package/dist/types/src/components/Stack/Stack.d.ts.map +1 -1
  27. package/dist/types/src/components/Stack/Stack.stories.d.ts +12 -3
  28. package/dist/types/src/components/Stack/Stack.stories.d.ts.map +1 -1
  29. package/dist/types/src/components/StackContext.d.ts +2 -1
  30. package/dist/types/src/components/StackContext.d.ts.map +1 -1
  31. package/dist/types/src/components/StackItem/StackItem.d.ts +7 -6
  32. package/dist/types/src/components/StackItem/StackItem.d.ts.map +1 -1
  33. package/dist/types/src/components/StackItem/StackItem.stories.d.ts +13 -5
  34. package/dist/types/src/components/StackItem/StackItem.stories.d.ts.map +1 -1
  35. package/dist/types/src/components/StackItem/StackItemContent.d.ts +20 -10
  36. package/dist/types/src/components/StackItem/StackItemContent.d.ts.map +1 -1
  37. package/dist/types/src/components/StackItem/StackItemHeading.d.ts +1 -1
  38. package/dist/types/src/components/StackItem/StackItemHeading.d.ts.map +1 -1
  39. package/dist/types/src/components/StackItem/StackItemResizeHandle.d.ts.map +1 -1
  40. package/dist/types/src/components/StackItem/StackItemSigil.d.ts.map +1 -1
  41. package/dist/types/src/components/index.d.ts +2 -1
  42. package/dist/types/src/components/index.d.ts.map +1 -1
  43. package/dist/types/src/exemplars/Card/Card.d.ts +21 -11
  44. package/dist/types/src/exemplars/Card/Card.d.ts.map +1 -1
  45. package/dist/types/src/exemplars/Card/Card.stories.d.ts +12 -4
  46. package/dist/types/src/exemplars/Card/Card.stories.d.ts.map +1 -1
  47. package/dist/types/src/exemplars/Card/fragments.d.ts +3 -2
  48. package/dist/types/src/exemplars/Card/fragments.d.ts.map +1 -1
  49. package/dist/types/src/exemplars/CardStack/CardStack.d.ts +3 -1
  50. package/dist/types/src/exemplars/CardStack/CardStack.d.ts.map +1 -1
  51. package/dist/types/src/exemplars/CardStack/CardStack.stories.d.ts +9 -3
  52. package/dist/types/src/exemplars/CardStack/CardStack.stories.d.ts.map +1 -1
  53. package/dist/types/src/hooks/useStackDropForElements.d.ts +1 -1
  54. package/dist/types/src/hooks/useStackDropForElements.d.ts.map +1 -1
  55. package/dist/types/src/playwright/index.d.ts +2 -0
  56. package/dist/types/src/playwright/index.d.ts.map +1 -0
  57. package/dist/types/src/playwright/stack-manager.d.ts.map +1 -0
  58. package/dist/types/src/testing/CardContainer.d.ts +6 -0
  59. package/dist/types/src/testing/CardContainer.d.ts.map +1 -0
  60. package/dist/types/src/testing/index.d.ts +1 -1
  61. package/dist/types/tsconfig.tsbuildinfo +1 -1
  62. package/package.json +36 -30
  63. package/src/components/Image/Image.stories.tsx +78 -0
  64. package/src/components/Image/Image.tsx +192 -0
  65. package/src/components/Image/index.ts +5 -0
  66. package/src/components/Stack/Stack.stories.tsx +8 -9
  67. package/src/components/Stack/Stack.tsx +215 -18
  68. package/src/components/StackContext.tsx +2 -1
  69. package/src/components/StackItem/StackItem.stories.tsx +16 -14
  70. package/src/components/StackItem/StackItem.tsx +26 -18
  71. package/src/components/StackItem/StackItemContent.tsx +21 -9
  72. package/src/components/StackItem/StackItemHeading.tsx +4 -8
  73. package/src/components/StackItem/StackItemResizeHandle.tsx +2 -1
  74. package/src/components/StackItem/StackItemSigil.tsx +2 -1
  75. package/src/components/index.ts +2 -1
  76. package/src/exemplars/Card/Card.stories.tsx +29 -43
  77. package/src/exemplars/Card/Card.tsx +52 -15
  78. package/src/exemplars/Card/fragments.ts +3 -2
  79. package/src/exemplars/CardStack/CardStack.stories.tsx +11 -10
  80. package/src/exemplars/CardStack/CardStack.tsx +12 -9
  81. package/src/hooks/useStackDropForElements.ts +1 -1
  82. package/src/playwright/index.ts +5 -0
  83. package/src/playwright/smoke.spec.ts +1 -1
  84. package/src/testing/CardContainer.tsx +37 -0
  85. package/src/testing/index.ts +1 -1
  86. package/dist/types/src/testing/stack-manager.d.ts.map +0 -1
  87. /package/dist/types/src/{testing → playwright}/stack-manager.d.ts +0 -0
  88. /package/src/{testing → playwright}/stack-manager.ts +0 -0
@@ -2,17 +2,14 @@
2
2
  // Copyright 2025 DXOS.org
3
3
  //
4
4
 
5
- import '@dxos-theme';
6
-
7
5
  import { type Meta, type StoryObj } from '@storybook/react-vite';
8
6
  import React from 'react';
9
7
 
10
8
  import { faker } from '@dxos/random';
11
- import { withTheme } from '@dxos/storybook-utils';
9
+ import { withTheme } from '@dxos/react-ui/testing';
12
10
 
13
11
  import { Card } from './Card';
14
12
 
15
- // Set a seed for reproducible random values
16
13
  faker.seed(0);
17
14
 
18
15
  type CardStoryProps = {
@@ -23,44 +20,8 @@ type CardStoryProps = {
23
20
  showIcon: boolean;
24
21
  };
25
22
 
26
- const meta: Meta<CardStoryProps> = {
27
- title: 'ui/react-ui-stack/Card',
28
- decorators: [withTheme],
29
- argTypes: {
30
- title: {
31
- control: 'text',
32
- description: 'Card title',
33
- },
34
- description: {
35
- control: 'text',
36
- description: 'Card description',
37
- },
38
- image: {
39
- control: 'text',
40
- description: 'URL for the poster image',
41
- },
42
- showImage: {
43
- control: 'boolean',
44
- description: 'Whether to show the image',
45
- },
46
- showIcon: {
47
- control: 'boolean',
48
- description: 'Whether to show an icon (when image is not shown)',
49
- },
50
- },
51
- args: {
52
- title: faker.commerce.productName(),
53
- description: faker.lorem.paragraph(),
54
- image: faker.image.url(),
55
- showImage: true,
56
- showIcon: true,
57
- },
58
- };
59
-
60
- export default meta;
61
-
62
- export const Default: StoryObj<CardStoryProps> = {
63
- render: ({ title, description, image, showImage, showIcon }: CardStoryProps) => (
23
+ const DefaultStory = ({ title, description, image, showImage, showIcon }: CardStoryProps) => {
24
+ return (
64
25
  <div className='max-is-md'>
65
26
  <Card.StaticRoot>
66
27
  <Card.Toolbar>
@@ -74,5 +35,30 @@ export const Default: StoryObj<CardStoryProps> = {
74
35
  {description && <Card.Text classNames='line-clamp-2'>{description}</Card.Text>}
75
36
  </Card.StaticRoot>
76
37
  </div>
77
- ),
38
+ );
39
+ };
40
+
41
+ const meta = {
42
+ title: 'ui/react-ui-stack/Card',
43
+ render: DefaultStory,
44
+ decorators: [withTheme],
45
+ parameters: {
46
+ layout: 'centered',
47
+ },
48
+ } satisfies Meta<typeof DefaultStory>;
49
+
50
+ export default meta;
51
+
52
+ type Story = StoryObj<typeof meta>;
53
+
54
+ const image = faker.image.url();
55
+
56
+ export const Default: Story = {
57
+ args: {
58
+ title: faker.commerce.productName(),
59
+ description: faker.lorem.paragraph(),
60
+ image,
61
+ showImage: true,
62
+ showIcon: true,
63
+ },
78
64
  };
@@ -5,22 +5,33 @@
5
5
  import { Primitive } from '@radix-ui/react-primitive';
6
6
  import { Slot } from '@radix-ui/react-slot';
7
7
  import React, {
8
- type ComponentPropsWithoutRef,
9
8
  type ComponentPropsWithRef,
9
+ type ComponentPropsWithoutRef,
10
10
  type FC,
11
- forwardRef,
12
11
  type PropsWithChildren,
12
+ forwardRef,
13
13
  } from 'react';
14
14
 
15
15
  import { Icon, IconButton, type ThemedClassName, Toolbar, type ToolbarRootProps, useTranslation } from '@dxos/react-ui';
16
16
  import { hoverableControls, mx } from '@dxos/react-ui-theme';
17
17
 
18
- import { cardChrome, cardRoot, cardHeading, cardText, cardSpacing } from './fragments';
19
- import { StackItem } from '../../components';
18
+ import { Image, StackItem } from '../../components';
20
19
  import { translationKey } from '../../translations';
21
20
 
21
+ import { cardChrome, cardHeading, cardRoot, cardSpacing, cardText } from './fragments';
22
+
22
23
  type SharedCardProps = ThemedClassName<ComponentPropsWithoutRef<'div'>> & { asChild?: boolean };
23
24
 
25
+ /**
26
+ * The default width of cards. It should be no larger than 320px per WCAG 2.1 SC 1.4.10.
27
+ */
28
+ const cardDefaultInlineSize = 18;
29
+ /**
30
+ * This is `cardDefaultInlineSize` plus 2 times the sum of the inner and outer spacing applied by CardStack on the
31
+ * inline axis.
32
+ */
33
+ const cardStackDefaultInlineSizeRem = cardDefaultInlineSize + 2.125;
34
+
24
35
  const CardStaticRoot = forwardRef<HTMLDivElement, SharedCardProps>(
25
36
  ({ children, classNames, asChild, role = 'group', ...props }, forwardedRef) => {
26
37
  const Root = asChild ? Slot : 'div';
@@ -38,16 +49,35 @@ const CardStaticRoot = forwardRef<HTMLDivElement, SharedCardProps>(
38
49
  * in a Popover) and knows this based on the `role` it receives. This will render a `Card.StaticRoot` by default, otherwise
39
50
  * it will render a `div` primitive with the appropriate styling for specific handled situations.
40
51
  */
41
- const CardSurfaceRoot = ({ role = 'never', children }: PropsWithChildren<{ role?: string }>) => {
42
- if (['popover', 'card--kanban'].includes(role)) {
52
+ const CardSurfaceRoot = ({
53
+ role = 'never',
54
+ children,
55
+ classNames,
56
+ }: ThemedClassName<PropsWithChildren<{ role?: string }>>) => {
57
+ if (['card--popover', 'card--intrinsic', 'card--extrinsic'].includes(role)) {
43
58
  return (
44
- <div className={role === 'popover' ? 'popover-card-width' : role === 'card--kanban' ? 'contents' : ''}>
59
+ <div
60
+ className={mx(
61
+ role === 'card--popover'
62
+ ? 'popover-card-width'
63
+ : ['card--intrinsic', 'card--extrinsic'].includes(role)
64
+ ? 'contents'
65
+ : '',
66
+ classNames,
67
+ )}
68
+ >
45
69
  {children}
46
70
  </div>
47
71
  );
48
72
  } else {
49
73
  return (
50
- <CardStaticRoot {...(role === 'card--document' && { classNames: ['mlb-[1em]', hoverableControls] })}>
74
+ <CardStaticRoot
75
+ classNames={[
76
+ role === 'card--transclusion' && 'mlb-1',
77
+ role === 'card--transclusion' && hoverableControls,
78
+ classNames,
79
+ ]}
80
+ >
51
81
  {children}
52
82
  </CardStaticRoot>
53
83
  );
@@ -106,15 +136,14 @@ type CardPosterProps = {
106
136
  const CardPoster = (props: CardPosterProps) => {
107
137
  const aspect = props.aspect === 'auto' ? 'aspect-auto' : 'aspect-video';
108
138
  if (props.image) {
109
- return (
110
- <img className={`dx-card__poster ${aspect} object-cover is-full bs-auto`} src={props.image} alt={props.alt} />
111
- );
139
+ return <Image classNames={[`dx-card__poster is-full`, aspect]} src={props.image} alt={props.alt} />;
112
140
  }
141
+
113
142
  if (props.icon) {
114
143
  return (
115
144
  <div
116
145
  role='image'
117
- className={`dx-card__poster grid ${aspect} place-items-center bg-inputSurface text-subdued`}
146
+ className={mx(`dx-card__poster grid place-items-center bg-inputSurface text-subdued`, aspect)}
118
147
  aria-label={props.alt}
119
148
  >
120
149
  <Icon icon={props.icon} size={10} />
@@ -137,9 +166,9 @@ const CardChrome = forwardRef<HTMLDivElement, SharedCardProps>(
137
166
  },
138
167
  );
139
168
 
140
- const CardText = forwardRef<HTMLParagraphElement, SharedCardProps>(
169
+ const CardText = forwardRef<HTMLDivElement, SharedCardProps>(
141
170
  ({ children, classNames, asChild, role = 'none', ...props }, forwardedRef) => {
142
- const Root = asChild ? Slot : 'p';
171
+ const Root = asChild ? Slot : 'div';
143
172
  const rootProps = asChild ? { classNames: [cardText, classNames] } : { className: mx(cardText, classNames), role };
144
173
  return (
145
174
  <Root {...props} {...rootProps} ref={forwardedRef}>
@@ -164,4 +193,12 @@ export const Card = {
164
193
  Text: CardText,
165
194
  };
166
195
 
167
- export { cardRoot, cardHeading, cardText, cardChrome, cardSpacing };
196
+ export {
197
+ cardRoot,
198
+ cardHeading,
199
+ cardText,
200
+ cardChrome,
201
+ cardSpacing,
202
+ cardStackDefaultInlineSizeRem,
203
+ cardDefaultInlineSize,
204
+ };
@@ -6,6 +6,7 @@ export const cardRoot =
6
6
  'rounded overflow-hidden bg-cardSurface border border-separator dark:border-subduedSeparator dx-focus-ring-group-y-indicator relative min-bs-[--rail-item] group/card';
7
7
 
8
8
  export const cardSpacing = 'pli-cardSpacingInline mlb-cardSpacingBlock';
9
+ export const cardNoSpacing = 'pli-0 mlb-0';
9
10
  export const labelSpacing = 'mbs-inputSpacingBlock mbe-labelSpacingBlock';
10
11
 
11
12
  export const cardDialogContent = 'p-0 bs-content min-bs-[8rem] max-bs-full md:max-is-[32rem] overflow-hidden';
@@ -17,7 +18,7 @@ export const cardDialogSearchListRoot =
17
18
 
18
19
  export const cardText = cardSpacing;
19
20
 
20
- export const cardHeading = 'text-lg font-medium line-clamp-2';
21
+ export const cardHeading = 'text-lg font-medium line-clamp-2 grow';
21
22
 
22
23
  export const cardChrome =
23
- 'pli-[--dx-cardSpacingChrome] mlb-[--dx-cardSpacingChrome] [&_.dx-button]:text-start [&_.dx-button]:is-full';
24
+ 'pli-[--dx-cardSpacingChrome] mlb-[--dx-cardSpacingChrome] [&_.dx-button]:text-start [&_.dx-button]:is-full [&_.dx-button]:pis-[calc(var(--dx-cardSpacingInline)-var(--dx-cardSpacingChrome))]';
@@ -2,21 +2,19 @@
2
2
  // Copyright 2025 DXOS.org
3
3
  //
4
4
 
5
- import '@dxos-theme';
6
-
7
5
  import { type Edge } from '@atlaskit/pragmatic-drag-and-drop-hitbox/closest-edge';
8
6
  import { type Meta, type StoryObj } from '@storybook/react-vite';
9
- import React, { useState, useCallback } from 'react';
7
+ import React, { useCallback, useState } from 'react';
10
8
 
11
9
  import { faker } from '@dxos/random';
12
10
  import { IconButton } from '@dxos/react-ui';
13
- import { withLayout, withTheme } from '@dxos/storybook-utils';
11
+ import { withTheme } from '@dxos/react-ui/testing';
14
12
 
15
- import { CardStack } from './CardStack';
16
13
  import { StackItem } from '../../components';
17
14
  import { Card, CardDragPreview } from '../Card';
18
15
 
19
- // Set a seed for reproducible random values
16
+ import { CardStack } from './CardStack';
17
+
20
18
  faker.seed(0);
21
19
 
22
20
  type CardItem = {
@@ -130,7 +128,7 @@ const CardStackStory = () => {
130
128
  <Card.Text classNames='line-clamp-2'>{card.description}</Card.Text>
131
129
  </Card.StaticRoot>
132
130
  <StackItem.DragPreview>
133
- {({ item }) => (
131
+ {() => (
134
132
  <CardDragPreview.Root>
135
133
  <CardDragPreview.Content>
136
134
  <Card.Toolbar>
@@ -159,11 +157,14 @@ const CardStackStory = () => {
159
157
  );
160
158
  };
161
159
 
162
- const meta: Meta<typeof CardStackStory> = {
160
+ const meta = {
163
161
  title: 'ui/react-ui-stack/CardStack',
164
162
  component: CardStackStory,
165
- decorators: [withTheme, withLayout({ fullscreen: true })],
166
- };
163
+ decorators: [withTheme],
164
+ parameters: {
165
+ layout: 'fullscreen',
166
+ },
167
+ } satisfies Meta<typeof CardStackStory>;
167
168
 
168
169
  export default meta;
169
170
 
@@ -8,7 +8,7 @@ import React, { type ComponentPropsWithoutRef, forwardRef } from 'react';
8
8
  import type { ThemedClassName } from '@dxos/react-ui';
9
9
  import { mx } from '@dxos/react-ui-theme';
10
10
 
11
- import { railGridHorizontalContainFitContent, Stack, type StackProps } from '../../components';
11
+ import { Stack, type StackProps, railGridHorizontalContainFitContent } from '../../components';
12
12
  import { Card } from '../Card';
13
13
 
14
14
  type SharedCardStackProps = ThemedClassName<ComponentPropsWithoutRef<'div'>> & { asChild?: boolean };
@@ -72,17 +72,20 @@ const CardStackFooter = forwardRef<HTMLDivElement, SharedCardStackProps>(
72
72
  },
73
73
  );
74
74
 
75
- const cardStackContent = [
76
- 'shrink min-bs-0 bg-baseSurface border border-separator rounded-md grid dx-focus-ring-group-x-indicator kanban-drop',
77
- railGridHorizontalContainFitContent,
78
- ];
75
+ const cardStackContent =
76
+ 'shrink min-bs-0 bg-baseSurface border border-separator rounded-md grid dx-focus-ring-group-x-indicator kanban-drop';
79
77
 
80
- const CardStackContent = forwardRef<HTMLDivElement, SharedCardStackProps>(
81
- ({ children, classNames, asChild, role = 'none', ...props }, forwardedRef) => {
78
+ type CardStackContentProps = SharedCardStackProps & {
79
+ footer?: boolean;
80
+ };
81
+
82
+ const CardStackContent = forwardRef<HTMLDivElement, CardStackContentProps>(
83
+ ({ children, classNames, asChild, role = 'none', footer = true, ...props }, forwardedRef) => {
82
84
  const Root = asChild ? Slot : 'div';
85
+ const baseClassNames = footer ? [cardStackContent, railGridHorizontalContainFitContent] : [cardStackContent];
83
86
  const rootProps = asChild
84
- ? { classNames: [...cardStackContent, classNames] }
85
- : { className: mx(...cardStackContent, classNames), role };
87
+ ? { classNames: [...baseClassNames, classNames] }
88
+ : { className: mx(...baseClassNames, classNames), role };
86
89
  return (
87
90
  <Root {...props} {...rootProps} data-scroll-separator='false' ref={forwardedRef}>
88
91
  {children}
@@ -8,7 +8,7 @@ import { autoScrollForElements } from '@atlaskit/pragmatic-drag-and-drop-auto-sc
8
8
  import { attachClosestEdge, extractClosestEdge } from '@atlaskit/pragmatic-drag-and-drop-hitbox/closest-edge';
9
9
  import { useLayoutEffect, useState } from 'react';
10
10
 
11
- import { type StackItemRearrangeHandler, type StackItemData, type Orientation } from '../components';
11
+ import { type Orientation, type StackItemData, type StackItemRearrangeHandler } from '../components';
12
12
 
13
13
  /**
14
14
  * Hook to handle drag and drop functionality for Stack components.
@@ -0,0 +1,5 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ export * from './stack-manager';
@@ -6,7 +6,7 @@ import { expect, test } from '@playwright/test';
6
6
 
7
7
  import { setupPage, storybookUrl } from '@dxos/test-utils/playwright';
8
8
 
9
- import { StackManager } from '../testing';
9
+ import { StackManager } from './stack-manager';
10
10
 
11
11
  const PORT = 9003;
12
12
 
@@ -0,0 +1,37 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import React, { type PropsWithChildren } from 'react';
6
+
7
+ import { ExtrinsicCardContainer, IntrinsicCardContainer, PopoverCardContainer } from '@dxos/storybook-utils';
8
+
9
+ import { Card } from '../exemplars';
10
+
11
+ export const CardContainer = ({
12
+ children,
13
+ icon = 'ph--placeholder--regular',
14
+ role,
15
+ }: PropsWithChildren<{ icon?: string; role?: string }>) => {
16
+ switch (role) {
17
+ case 'card--popover':
18
+ return <PopoverCardContainer icon={icon}>{children}</PopoverCardContainer>;
19
+
20
+ case 'card--extrinsic':
21
+ return (
22
+ <ExtrinsicCardContainer>
23
+ <Card.StaticRoot>{children}</Card.StaticRoot>
24
+ </ExtrinsicCardContainer>
25
+ );
26
+
27
+ case 'card--intrinsic':
28
+ return (
29
+ <IntrinsicCardContainer>
30
+ <Card.StaticRoot>{children}</Card.StaticRoot>
31
+ </IntrinsicCardContainer>
32
+ );
33
+
34
+ default:
35
+ return <Card.StaticRoot>{children}</Card.StaticRoot>;
36
+ }
37
+ };
@@ -2,4 +2,4 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
- export * from './stack-manager';
5
+ export * from './CardContainer';
@@ -1 +0,0 @@
1
- {"version":3,"file":"stack-manager.d.ts","sourceRoot":"","sources":["../../../../src/testing/stack-manager.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAQ,MAAM,kBAAkB,CAAC;AAEtD,qBAAa,YAAY;IAGX,QAAQ,CAAC,OAAO,EAAE,OAAO;IAFrC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAO;gBAER,OAAO,EAAE,OAAO;IAIrC,QAAQ,IAAI,OAAO;IAInB,KAAK;IAIL,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc;CAGvC;AAED,qBAAa,cAAc;IAGb,QAAQ,CAAC,OAAO,EAAE,OAAO;IAFrC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAO;gBAER,OAAO,EAAE,OAAO;IAI/B,EAAE,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAI5B,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAKvB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAK3B,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,GAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;CAehG"}
File without changes