@dxos/react-ui-stack 0.6.14-staging.9e90729 → 0.6.14-staging.c117501

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 (91) hide show
  1. package/dist/lib/browser/index.mjs +494 -335
  2. package/dist/lib/browser/index.mjs.map +4 -4
  3. package/dist/lib/browser/meta.json +1 -1
  4. package/dist/lib/browser/testing/index.mjs +3 -6
  5. package/dist/lib/browser/testing/index.mjs.map +3 -3
  6. package/dist/lib/node/index.cjs +478 -326
  7. package/dist/lib/node/index.cjs.map +4 -4
  8. package/dist/lib/node/meta.json +1 -1
  9. package/dist/lib/node/testing/index.cjs +3 -6
  10. package/dist/lib/node/testing/index.cjs.map +3 -3
  11. package/dist/lib/node-esm/index.mjs +494 -335
  12. package/dist/lib/node-esm/index.mjs.map +4 -4
  13. package/dist/lib/node-esm/meta.json +1 -1
  14. package/dist/lib/node-esm/testing/index.mjs +3 -6
  15. package/dist/lib/node-esm/testing/index.mjs.map +3 -3
  16. package/dist/types/src/components/LayoutControls.d.ts +19 -0
  17. package/dist/types/src/components/LayoutControls.d.ts.map +1 -0
  18. package/dist/types/src/components/MenuSignifier.d.ts +4 -0
  19. package/dist/types/src/components/MenuSignifier.d.ts.map +1 -0
  20. package/dist/types/src/components/Stack.d.ts +12 -12
  21. package/dist/types/src/components/Stack.d.ts.map +1 -1
  22. package/dist/types/src/components/Stack.stories.d.ts +6 -83
  23. package/dist/types/src/components/Stack.stories.d.ts.map +1 -1
  24. package/dist/types/src/components/StackContext.d.ts +19 -0
  25. package/dist/types/src/components/StackContext.d.ts.map +1 -0
  26. package/dist/types/src/components/StackItem.d.ts +41 -0
  27. package/dist/types/src/components/StackItem.d.ts.map +1 -0
  28. package/dist/types/src/components/StackItemContent.d.ts +9 -0
  29. package/dist/types/src/components/StackItemContent.d.ts.map +1 -0
  30. package/dist/types/src/components/StackItemHeading.d.ts +8 -0
  31. package/dist/types/src/components/StackItemHeading.d.ts.map +1 -0
  32. package/dist/types/src/components/StackItemResizeHandle.d.ts +3 -0
  33. package/dist/types/src/components/StackItemResizeHandle.d.ts.map +1 -0
  34. package/dist/types/src/components/StackItemSigil.d.ts +31 -0
  35. package/dist/types/src/components/StackItemSigil.d.ts.map +1 -0
  36. package/dist/types/src/components/index.d.ts +2 -1
  37. package/dist/types/src/components/index.d.ts.map +1 -1
  38. package/dist/types/src/testing/EditorContent.d.ts +2 -2
  39. package/dist/types/src/testing/EditorContent.d.ts.map +1 -1
  40. package/dist/types/src/testing/stack-manager.d.ts +0 -1
  41. package/dist/types/src/testing/stack-manager.d.ts.map +1 -1
  42. package/dist/types/src/translations.d.ts +8 -8
  43. package/package.json +19 -20
  44. package/src/components/LayoutControls.tsx +131 -0
  45. package/src/components/MenuSignifier.tsx +33 -0
  46. package/src/components/Stack.stories.tsx +109 -182
  47. package/src/components/Stack.tsx +61 -156
  48. package/src/components/StackContext.tsx +38 -0
  49. package/src/components/StackItem.tsx +173 -0
  50. package/src/components/StackItemContent.tsx +49 -0
  51. package/src/components/StackItemHeading.tsx +55 -0
  52. package/src/components/StackItemResizeHandle.tsx +115 -0
  53. package/src/components/StackItemSigil.tsx +170 -0
  54. package/src/components/index.ts +3 -2
  55. package/src/playwright/smoke.spec.ts +3 -3
  56. package/src/testing/EditorContent.tsx +4 -4
  57. package/src/testing/stack-manager.ts +3 -7
  58. package/src/translations.ts +8 -8
  59. package/dist/types/src/components/CaretDownUp.d.ts +0 -4
  60. package/dist/types/src/components/CaretDownUp.d.ts.map +0 -1
  61. package/dist/types/src/components/ContentTypes.stories.d.ts +0 -96
  62. package/dist/types/src/components/ContentTypes.stories.d.ts.map +0 -1
  63. package/dist/types/src/components/Deck.stories.d.ts +0 -19
  64. package/dist/types/src/components/Deck.stories.d.ts.map +0 -1
  65. package/dist/types/src/components/Section.d.ts +0 -53
  66. package/dist/types/src/components/Section.d.ts.map +0 -1
  67. package/dist/types/src/components/Section.stories.d.ts +0 -36
  68. package/dist/types/src/components/Section.stories.d.ts.map +0 -1
  69. package/dist/types/src/components/style-fragments.d.ts +0 -2
  70. package/dist/types/src/components/style-fragments.d.ts.map +0 -1
  71. package/dist/types/src/next/Stack.d.ts +0 -9
  72. package/dist/types/src/next/Stack.d.ts.map +0 -1
  73. package/dist/types/src/next/Stack.stories.d.ts +0 -8
  74. package/dist/types/src/next/Stack.stories.d.ts.map +0 -1
  75. package/dist/types/src/next/StackItem.d.ts +0 -14
  76. package/dist/types/src/next/StackItem.d.ts.map +0 -1
  77. package/dist/types/src/next/index.d.ts +0 -2
  78. package/dist/types/src/next/index.d.ts.map +0 -1
  79. package/dist/types/src/testing/TableContent.d.ts +0 -20
  80. package/dist/types/src/testing/TableContent.d.ts.map +0 -1
  81. package/src/components/CaretDownUp.tsx +0 -31
  82. package/src/components/ContentTypes.stories.tsx +0 -104
  83. package/src/components/Deck.stories.tsx +0 -362
  84. package/src/components/Section.stories.tsx +0 -50
  85. package/src/components/Section.tsx +0 -378
  86. package/src/components/style-fragments.ts +0 -5
  87. package/src/next/Stack.stories.tsx +0 -148
  88. package/src/next/Stack.tsx +0 -30
  89. package/src/next/StackItem.tsx +0 -78
  90. package/src/next/index.ts +0 -5
  91. package/src/testing/TableContent.tsx +0 -119
@@ -1,119 +0,0 @@
1
- //
2
- // Copyright 2024 DXOS.org
3
- //
4
-
5
- import { Plugs, PlugsConnected } from '@phosphor-icons/react';
6
- import React from 'react';
7
-
8
- import { create } from '@dxos/echo-schema';
9
- import { PublicKey } from '@dxos/keys';
10
- import { faker } from '@dxos/random';
11
- import {
12
- createColumnBuilder,
13
- type SearchListQueryModel,
14
- Table,
15
- type TableColumnDef,
16
- type TableProps,
17
- type ValueUpdater,
18
- } from '@dxos/react-ui-table';
19
-
20
- import type { StackSectionContent } from '../components/Section';
21
-
22
- type Item = {
23
- publicKey: PublicKey;
24
- name: string;
25
- company?: string;
26
- count?: number;
27
- started?: Date;
28
- complete?: boolean;
29
- };
30
-
31
- faker.seed(1234);
32
-
33
- const timeout = (ms: number) => new Promise((resolve) => setTimeout(resolve, ms));
34
-
35
- const tableStorySelectModel: SearchListQueryModel<Item> = {
36
- getId: (object) => object?.publicKey?.toHex() ?? 'never',
37
- getText: (object) => object?.name ?? 'never',
38
- query: async (search: string) => {
39
- await timeout(400);
40
- return Object.values(tableStorySelectItems).filter((item) => {
41
- return item.name.toLowerCase().includes(search.toLowerCase());
42
- });
43
- },
44
- };
45
-
46
- const tableStorySelectItems: Record<string, Item> = [...Array(128)].reduce((acc: Record<string, Item>, _i) => {
47
- const id = PublicKey.random();
48
- acc[id.toHex()] = {
49
- publicKey: id,
50
- name: faker.company.name(),
51
- };
52
- return acc;
53
- }, {});
54
-
55
- const { helper, builder } = createColumnBuilder<Item>();
56
-
57
- faker.seed(1234);
58
-
59
- export const makeColumns = (onUpdate?: ValueUpdater<Item, any>): TableColumnDef<Item, any>[] => [
60
- helper.display(builder.selectRow()),
61
- helper.accessor((item) => item.publicKey, { id: 'key', ...builder.key({ tooltip: true }) }),
62
- helper.accessor(
63
- 'name',
64
- builder.string({
65
- label: 'Name',
66
- onUpdate,
67
- meta: { expand: true },
68
- footer: (props) => props.table.getRowModel().rows.length,
69
- }),
70
- ),
71
- helper.accessor('started', builder.date({ label: 'Started', relative: true, meta: { resizable: true } })),
72
- helper.accessor(
73
- 'count',
74
- builder.number({
75
- label: 'Count',
76
- meta: { resizable: true },
77
- onUpdate,
78
- getGroupingValue: (row) => (row.count ? (row.count < 2000 ? 'A' : row.count < 5000 ? 'B' : 'C') : 'D'),
79
- }),
80
- ),
81
- helper.accessor('company', builder.combobox({ label: 'Company', model: tableStorySelectModel, onUpdate })),
82
- helper.accessor(
83
- 'complete',
84
- builder.switch({ getGroupingValue: (row) => row.complete === true, label: '', onUpdate }),
85
- ),
86
- helper.accessor('complete', builder.icon({ id: 'done', label: '' })),
87
- helper.accessor(
88
- 'complete',
89
- builder.icon({
90
- id: 'connected',
91
- label: '',
92
- on: { Icon: PlugsConnected, className: 'text-blue-500' },
93
- off: { Icon: Plugs, className: 'text-blue-200' },
94
- }),
95
- ),
96
- ];
97
-
98
- export const createItems = (count: number) =>
99
- [...Array(count)].map(
100
- () =>
101
- create<Item>({
102
- publicKey: PublicKey.random(),
103
- name: faker.commerce.productName(),
104
- company: faker.commerce.productName(),
105
- count: faker.datatype.boolean({ probability: 0.9 }) ? faker.number.int({ min: 0, max: 10_000 }) : undefined,
106
- started: faker.date.recent(),
107
- complete: faker.datatype.boolean() ? true : faker.datatype.boolean() ? false : undefined,
108
- }) as Item,
109
- );
110
-
111
- export type TableContentProps = StackSectionContent & Pick<TableProps<Item>, 'columns' | 'data'>;
112
-
113
- export const TableContent = ({ data: { columns, data } }: { data: TableContentProps }) => (
114
- <Table.Root>
115
- <Table.Viewport>
116
- <Table.Main columns={columns} data={data} />;
117
- </Table.Viewport>
118
- </Table.Root>
119
- );