@orcestr/ui 0.0.1 → 0.1.0
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.
- package/README.md +4 -0
- package/README.ru.md +4 -0
- package/dist/components/Alert/Alert.d.ts +5 -4
- package/dist/components/Alert/Alert.d.ts.map +1 -1
- package/dist/components/Alert/Alert.js +5 -2
- package/dist/components/AppShell/AppShell.d.ts +2 -0
- package/dist/components/AppShell/AppShell.d.ts.map +1 -1
- package/dist/components/AppShell/AppShell.js +9 -6
- package/dist/components/AppSidebar/AppSidebar.d.ts +36 -0
- package/dist/components/AppSidebar/AppSidebar.d.ts.map +1 -0
- package/dist/components/AppSidebar/AppSidebar.js +53 -0
- package/dist/components/Badge/Badge.d.ts +8 -6
- package/dist/components/Badge/Badge.d.ts.map +1 -1
- package/dist/components/Badge/Badge.js +4 -4
- package/dist/components/BadgeSelectMenu/BadgeSelectMenu.d.ts +22 -0
- package/dist/components/BadgeSelectMenu/BadgeSelectMenu.d.ts.map +1 -0
- package/dist/components/BadgeSelectMenu/BadgeSelectMenu.js +50 -0
- package/dist/components/Box/Box.d.ts +2 -0
- package/dist/components/Box/Box.d.ts.map +1 -1
- package/dist/components/Box/Box.js +15 -2
- package/dist/components/Button/Button.d.ts +7 -3
- package/dist/components/Button/Button.d.ts.map +1 -1
- package/dist/components/Button/Button.js +23 -3
- package/dist/components/Card/Card.d.ts +26 -0
- package/dist/components/Card/Card.d.ts.map +1 -0
- package/dist/components/Card/Card.js +25 -0
- package/dist/components/Checkbox/Checkbox.d.ts +6 -2
- package/dist/components/Checkbox/Checkbox.d.ts.map +1 -1
- package/dist/components/Checkbox/Checkbox.js +13 -4
- package/dist/components/CommandPalette/CommandPalette.d.ts.map +1 -1
- package/dist/components/CommandPalette/CommandPalette.js +10 -9
- package/dist/components/ConfirmDialog/ConfirmDialog.d.ts.map +1 -1
- package/dist/components/ConfirmDialog/ConfirmDialog.js +5 -2
- package/dist/components/ContextMenu/ContextMenu.d.ts.map +1 -1
- package/dist/components/ContextMenu/ContextMenu.js +2 -2
- package/dist/components/DatePicker/DatePicker.d.ts.map +1 -1
- package/dist/components/DatePicker/DatePicker.js +9 -1
- package/dist/components/Dialog/Dialog.d.ts +69 -1
- package/dist/components/Dialog/Dialog.d.ts.map +1 -1
- package/dist/components/Dialog/Dialog.js +48 -1
- package/dist/components/Drawer/Drawer.d.ts.map +1 -1
- package/dist/components/Drawer/Drawer.js +2 -2
- package/dist/components/EntityPicker/EntityPicker.d.ts +2 -1
- package/dist/components/EntityPicker/EntityPicker.d.ts.map +1 -1
- package/dist/components/EntityPicker/EntityPicker.js +2 -2
- package/dist/components/Flex/Flex.d.ts +5 -1
- package/dist/components/Flex/Flex.d.ts.map +1 -1
- package/dist/components/Flex/Flex.js +16 -3
- package/dist/components/Grid/Grid.d.ts +9 -2
- package/dist/components/Grid/Grid.d.ts.map +1 -1
- package/dist/components/Grid/Grid.js +22 -1
- package/dist/components/IconButton/IconButton.d.ts +19 -7
- package/dist/components/IconButton/IconButton.d.ts.map +1 -1
- package/dist/components/IconButton/IconButton.js +40 -5
- package/dist/components/IconTextButton/IconTextButton.d.ts +20 -0
- package/dist/components/IconTextButton/IconTextButton.d.ts.map +1 -0
- package/dist/components/IconTextButton/IconTextButton.js +24 -0
- package/dist/components/InlineEdit/InlineEdit.d.ts +63 -0
- package/dist/components/InlineEdit/InlineEdit.d.ts.map +1 -0
- package/dist/components/InlineEdit/InlineEdit.js +98 -0
- package/dist/components/LinkButton/LinkButton.d.ts +25 -0
- package/dist/components/LinkButton/LinkButton.d.ts.map +1 -0
- package/dist/components/LinkButton/LinkButton.js +12 -0
- package/dist/components/Modal/Modal.d.ts +29 -6
- package/dist/components/Modal/Modal.d.ts.map +1 -1
- package/dist/components/Modal/Modal.js +37 -13
- package/dist/components/Overlay/OverlayProvider.d.ts +1 -0
- package/dist/components/Overlay/OverlayProvider.d.ts.map +1 -1
- package/dist/components/Overlay/OverlayProvider.js +18 -1
- package/dist/components/PaginatedCombobox/PaginatedCombobox.d.ts +2 -1
- package/dist/components/PaginatedCombobox/PaginatedCombobox.d.ts.map +1 -1
- package/dist/components/PaginatedCombobox/PaginatedCombobox.js +3 -3
- package/dist/components/Popover/Popover.d.ts +37 -3
- package/dist/components/Popover/Popover.d.ts.map +1 -1
- package/dist/components/Popover/Popover.js +56 -9
- package/dist/components/ScrollArea/ScrollArea.d.ts +4 -0
- package/dist/components/ScrollArea/ScrollArea.d.ts.map +1 -1
- package/dist/components/ScrollArea/ScrollArea.js +30 -4
- package/dist/components/Section/Section.d.ts +2 -0
- package/dist/components/Section/Section.d.ts.map +1 -1
- package/dist/components/SegmentedControl/SegmentedControl.d.ts +24 -1
- package/dist/components/SegmentedControl/SegmentedControl.d.ts.map +1 -1
- package/dist/components/SegmentedControl/SegmentedControl.js +28 -2
- package/dist/components/Select/Select.d.ts +36 -4
- package/dist/components/Select/Select.d.ts.map +1 -1
- package/dist/components/Select/Select.js +70 -3
- package/dist/components/Separator/Separator.d.ts +3 -1
- package/dist/components/Separator/Separator.d.ts.map +1 -1
- package/dist/components/Separator/Separator.js +4 -2
- package/dist/components/SpecialModal/SpecialModal.d.ts +43 -0
- package/dist/components/SpecialModal/SpecialModal.d.ts.map +1 -0
- package/dist/components/SpecialModal/SpecialModal.js +34 -0
- package/dist/components/Spinner/Spinner.d.ts +3 -1
- package/dist/components/Spinner/Spinner.d.ts.map +1 -1
- package/dist/components/Spinner/Spinner.js +2 -2
- package/dist/components/State/State.d.ts +8 -1
- package/dist/components/State/State.d.ts.map +1 -1
- package/dist/components/State/State.js +2 -2
- package/dist/components/Switch/Switch.d.ts +2 -0
- package/dist/components/Switch/Switch.d.ts.map +1 -1
- package/dist/components/Switch/Switch.js +2 -1
- package/dist/components/Table/Table.d.ts +64 -0
- package/dist/components/Table/Table.d.ts.map +1 -0
- package/dist/components/Table/Table.js +38 -0
- package/dist/components/Tabs/Tabs.d.ts +33 -2
- package/dist/components/Tabs/Tabs.d.ts.map +1 -1
- package/dist/components/Tabs/Tabs.js +189 -4
- package/dist/components/Text/Text.d.ts +13 -3
- package/dist/components/Text/Text.d.ts.map +1 -1
- package/dist/components/Text/Text.js +16 -3
- package/dist/components/TextArea/TextArea.d.ts.map +1 -1
- package/dist/components/TextArea/TextArea.js +1 -1
- package/dist/components/TextField/TextField.d.ts.map +1 -1
- package/dist/components/TextField/TextField.js +1 -1
- package/dist/components/Toast/Toast.d.ts +1 -0
- package/dist/components/Toast/Toast.d.ts.map +1 -1
- package/dist/components/Toast/Toast.js +19 -8
- package/dist/components/Tooltip/Tooltip.d.ts +11 -3
- package/dist/components/Tooltip/Tooltip.d.ts.map +1 -1
- package/dist/components/Tooltip/Tooltip.js +58 -9
- package/dist/example/CodePreview.d.ts.map +1 -1
- package/dist/example/CodePreview.js +3 -3
- package/dist/example/ExampleActionsSection.d.ts.map +1 -1
- package/dist/example/ExampleActionsSection.js +3 -3
- package/dist/example/ExampleApplicationSection.d.ts +7 -0
- package/dist/example/ExampleApplicationSection.d.ts.map +1 -0
- package/dist/example/ExampleApplicationSection.js +68 -0
- package/dist/example/ExampleBasicsSections.d.ts.map +1 -1
- package/dist/example/ExampleBasicsSections.js +5 -9
- package/dist/example/ExampleDataSection.d.ts.map +1 -1
- package/dist/example/ExampleDataSection.js +31 -30
- package/dist/example/ExampleFieldsSection.d.ts.map +1 -1
- package/dist/example/ExampleFieldsSection.js +51 -3
- package/dist/example/ExampleFoundationsSection.js +1 -1
- package/dist/example/ExampleOverlays.d.ts.map +1 -1
- package/dist/example/ExampleOverlays.js +7 -2
- package/dist/example/ExampleOverlaysSection.d.ts.map +1 -1
- package/dist/example/ExampleOverlaysSection.js +5 -2
- package/dist/example/ExampleSelectionSection.d.ts +3 -1
- package/dist/example/ExampleSelectionSection.d.ts.map +1 -1
- package/dist/example/ExampleSelectionSection.js +10 -3
- package/dist/example/ExampleStateSection.d.ts +3 -0
- package/dist/example/ExampleStateSection.d.ts.map +1 -1
- package/dist/example/ExampleStateSection.js +58 -3
- package/dist/example/ExampleThemePlayground.d.ts +101 -71
- package/dist/example/ExampleThemePlayground.d.ts.map +1 -1
- package/dist/example/ExampleThemePlayground.js +137 -74
- package/dist/example/UiExamplePage.d.ts +7 -1
- package/dist/example/UiExamplePage.d.ts.map +1 -1
- package/dist/example/UiExamplePage.js +72 -27
- package/dist/example/codeSamples.d.ts +7 -0
- package/dist/example/codeSamples.d.ts.map +1 -1
- package/dist/example/codeSamples.js +429 -60
- package/dist/example/exampleData.d.ts.map +1 -1
- package/dist/example/exampleData.js +16 -2
- package/dist/example/styles.css +245 -74
- package/dist/hooks/useFloatingPosition.js +1 -1
- package/dist/hooks/usePresence.d.ts.map +1 -1
- package/dist/hooks/usePresence.js +9 -7
- package/dist/index.d.ts +8 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -1
- package/dist/styles/orcestr-ui.css +2545 -672
- package/dist/theme/ThemeProvider.d.ts.map +1 -1
- package/dist/theme/ThemeProvider.js +90 -36
- package/dist/theme/defaultTheme.d.ts.map +1 -1
- package/dist/theme/defaultTheme.js +322 -194
- package/dist/theme/systemProps.d.ts +48 -28
- package/dist/theme/systemProps.d.ts.map +1 -1
- package/dist/theme/systemProps.js +103 -1
- package/dist/theme/themeTypes.d.ts +21 -17
- package/dist/theme/themeTypes.d.ts.map +1 -1
- package/dist/utils/slot.d.ts +11 -0
- package/dist/utils/slot.d.ts.map +1 -0
- package/dist/utils/slot.js +18 -0
- package/package.json +2 -2
- package/dist/components/Workflow/Workflow.d.ts +0 -82
- package/dist/components/Workflow/Workflow.d.ts.map +0 -1
- package/dist/components/Workflow/Workflow.js +0 -73
|
@@ -4,7 +4,7 @@ export const codeSamples = {
|
|
|
4
4
|
<Stack g={3}>
|
|
5
5
|
<Stack g={1}>
|
|
6
6
|
<Text as='h1' fs='28px' fw={780} lh={1.1}>
|
|
7
|
-
|
|
7
|
+
Operations review
|
|
8
8
|
</Text>
|
|
9
9
|
<Text as='h2' fs='20px' fw={720} lh={1.2}>
|
|
10
10
|
Review window and status
|
|
@@ -21,7 +21,7 @@ export const codeSamples = {
|
|
|
21
21
|
</Stack>
|
|
22
22
|
|
|
23
23
|
<Flex g={2} wrap>
|
|
24
|
-
<Text tone='
|
|
24
|
+
<Text tone='primary' fw={700}>Primary</Text>
|
|
25
25
|
<Text tone='success' fw={700}>Success</Text>
|
|
26
26
|
<Text tone='warning' fw={700}>Warning</Text>
|
|
27
27
|
<Text tone='danger' fw={700}>Danger</Text>
|
|
@@ -36,7 +36,7 @@ export const codeSamples = {
|
|
|
36
36
|
|
|
37
37
|
<Flex g={2} wrap>
|
|
38
38
|
<Badge>Neutral</Badge>
|
|
39
|
-
<Badge tone='
|
|
39
|
+
<Badge tone='primary'>Primary</Badge>
|
|
40
40
|
<Badge tone='success'>Success</Badge>
|
|
41
41
|
<Badge tone='warning'>Warning</Badge>
|
|
42
42
|
<Badge tone='danger'>Danger</Badge>
|
|
@@ -50,57 +50,112 @@ export const codeSamples = {
|
|
|
50
50
|
<Skeleton h={16} w='64%' />
|
|
51
51
|
<Skeleton h={36} />
|
|
52
52
|
</Stack>`,
|
|
53
|
-
appShell: `import {
|
|
53
|
+
appShell: `import {useState} from 'react';
|
|
54
|
+
import {
|
|
54
55
|
AppShell,
|
|
55
56
|
AppShellContent,
|
|
56
57
|
AppShellHeader,
|
|
57
|
-
|
|
58
|
-
|
|
58
|
+
AppSidebar,
|
|
59
|
+
Badge,
|
|
59
60
|
Button,
|
|
60
|
-
|
|
61
|
-
|
|
61
|
+
Flex,
|
|
62
|
+
IconButton,
|
|
63
|
+
IconTextButton,
|
|
64
|
+
PageTitleBlock,
|
|
65
|
+
SpecialModal,
|
|
62
66
|
Text,
|
|
63
67
|
} from '@orcestr/ui';
|
|
68
|
+
import {LuBell, LuBox, LuCalendar, LuClipboardList, LuEllipsis, LuMessageSquare, LuSearch, LuTruck} from 'react-icons/lu';
|
|
64
69
|
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
70
|
+
const [open, setOpen] = useState(false);
|
|
71
|
+
const [mobileOpen, setMobileOpen] = useState(false);
|
|
72
|
+
const [previewMode, setPreviewMode] = useState<'desktop' | 'phone'>('desktop');
|
|
73
|
+
const [activeKey, setActiveKey] = useState('requests');
|
|
74
|
+
|
|
75
|
+
const groups = [
|
|
76
|
+
{
|
|
77
|
+
key: 'demand',
|
|
78
|
+
items: [
|
|
79
|
+
{key: 'requests', label: 'Requests', icon: <LuTruck />, active: activeKey === 'requests'},
|
|
80
|
+
{key: 'orders', label: 'Supplier orders', icon: <LuClipboardList />, active: activeKey === 'orders'},
|
|
81
|
+
],
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
key: 'operations',
|
|
85
|
+
items: [
|
|
86
|
+
{key: 'products', label: 'Products', icon: <LuBox />, active: activeKey === 'products'},
|
|
87
|
+
{key: 'calendar', label: 'Calendar', icon: <LuCalendar />, active: activeKey === 'calendar'},
|
|
88
|
+
],
|
|
89
|
+
},
|
|
90
|
+
];
|
|
91
|
+
|
|
92
|
+
<>
|
|
93
|
+
<Button onClick={() => setOpen(true)}>Open AppShell preview</Button>
|
|
94
|
+
<SpecialModal open={open} onOpenChange={setOpen} size='full' scroll='body'>
|
|
95
|
+
<SpecialModal.Header
|
|
96
|
+
title='AppShell preview'
|
|
97
|
+
meta={<Badge tone='primary'>{previewMode}</Badge>}
|
|
98
|
+
actions={(
|
|
99
|
+
<>
|
|
100
|
+
<Button size={2} v='surface' onClick={() => setPreviewMode((mode) => mode === 'desktop' ? 'phone' : 'desktop')}>
|
|
101
|
+
Toggle preview
|
|
102
|
+
</Button>
|
|
103
|
+
<SpecialModal.Close />
|
|
104
|
+
</>
|
|
105
|
+
)}
|
|
106
|
+
/>
|
|
107
|
+
<SpecialModal.Body>
|
|
108
|
+
<AppShell
|
|
109
|
+
sidebarMode={previewMode === 'phone' ? 'mobile' : 'desktop'}
|
|
73
110
|
sidebarOpen={mobileOpen}
|
|
74
111
|
onSidebarOpenChange={setMobileOpen}
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
112
|
+
sidebarWidth={300}
|
|
113
|
+
contentInset={0}
|
|
114
|
+
maxWidth='100%'
|
|
115
|
+
header={(
|
|
116
|
+
<AppShellHeader
|
|
117
|
+
visibility='always'
|
|
118
|
+
sidebarOpen={mobileOpen}
|
|
119
|
+
onSidebarOpenChange={previewMode === 'phone' ? setMobileOpen : undefined}
|
|
120
|
+
actions={(
|
|
121
|
+
<Flex a='c' g={1}>
|
|
122
|
+
<IconTextButton size={2} v='soft' tone='neutral' icon={<LuSearch />}>Quick jump</IconTextButton>
|
|
123
|
+
<IconButton size={2} v='ghost' icon={<LuBell />} badge={64} aria-label='Notifications' />
|
|
124
|
+
<IconButton size={2} v='ghost' icon={<LuMessageSquare />} badge={99} aria-label='Messages' />
|
|
125
|
+
</Flex>
|
|
126
|
+
)}
|
|
127
|
+
>
|
|
128
|
+
<Text fw={760}>Deliveries</Text>
|
|
129
|
+
</AppShellHeader>
|
|
130
|
+
)}
|
|
131
|
+
sidebar={(
|
|
132
|
+
<AppSidebar
|
|
133
|
+
header={<div className='oui-app-sidebar-brand'><span className='oui-app-sidebar-logo'>O</span><span className='oui-app-sidebar-title'>Deliveries</span></div>}
|
|
134
|
+
itemH={38}
|
|
135
|
+
onNavigate={(item) => setActiveKey(item.key)}
|
|
136
|
+
groups={groups}
|
|
137
|
+
/>
|
|
138
|
+
)}
|
|
84
139
|
>
|
|
85
|
-
<
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
</
|
|
96
|
-
</
|
|
97
|
-
|
|
140
|
+
<AppShellContent scroll={false}>
|
|
141
|
+
<PageTitleBlock
|
|
142
|
+
title='Requests'
|
|
143
|
+
caption='Module workspace with responsive header and AppSidebar navigation.'
|
|
144
|
+
badge='shell'
|
|
145
|
+
action={<IconButton size={2} v='pad' icon={<LuEllipsis />} aria-label='More actions' />}
|
|
146
|
+
/>
|
|
147
|
+
{children}
|
|
148
|
+
</AppShellContent>
|
|
149
|
+
</AppShell>
|
|
150
|
+
</SpecialModal.Body>
|
|
151
|
+
</SpecialModal>
|
|
152
|
+
</>`,
|
|
98
153
|
layoutFlex: `import {Badge, Button, Flex, Text} from '@orcestr/ui';
|
|
99
154
|
|
|
100
155
|
<Flex col g={3}>
|
|
101
156
|
<Flex row g={2} a='c' j='sb' wrap>
|
|
102
157
|
<Flex row g={2} a='c' wrap>
|
|
103
|
-
<Badge tone='
|
|
158
|
+
<Badge tone='primary'>status</Badge>
|
|
104
159
|
<Text fw={700}>Task TASK-2048</Text>
|
|
105
160
|
</Flex>
|
|
106
161
|
<Flex row g={1} a='c'>
|
|
@@ -234,7 +289,7 @@ const [detailsOpen, setDetailsOpen] = useState(true);
|
|
|
234
289
|
<Stack g={1}>
|
|
235
290
|
{rows.map((row, index) => (
|
|
236
291
|
<Flex key={row.id} row g={2} p={2} r={3} a='c'>
|
|
237
|
-
<Badge tone={index < 3 ? '
|
|
292
|
+
<Badge tone={index < 3 ? 'primary' : 'info'}>
|
|
238
293
|
{index + 1}
|
|
239
294
|
</Badge>
|
|
240
295
|
<Stack g={0}>
|
|
@@ -258,6 +313,28 @@ const [detailsOpen, setDetailsOpen] = useState(true);
|
|
|
258
313
|
<Button mt={2} v='pad' r={7}>
|
|
259
314
|
Button r=7
|
|
260
315
|
</Button>`,
|
|
316
|
+
surfaces: `import {Alert, Button, Card, Grid, Section, Separator, Stack, Text} from '@orcestr/ui';
|
|
317
|
+
|
|
318
|
+
<Section g={3}>
|
|
319
|
+
<Grid columns='repeat(auto-fit, minmax(min(100%, 180px), 1fr))' g={2}>
|
|
320
|
+
<Card v='surface' interactive>
|
|
321
|
+
<Stack g={1}>
|
|
322
|
+
<Text fw={760}>Surface card</Text>
|
|
323
|
+
<Text fs='12px' tone='muted'>Default operational surface.</Text>
|
|
324
|
+
</Stack>
|
|
325
|
+
</Card>
|
|
326
|
+
<Card v='soft'>
|
|
327
|
+
<Stack g={1}>
|
|
328
|
+
<Text fw={760}>Soft card</Text>
|
|
329
|
+
<Text fs='12px' tone='muted'>Quiet grouped content.</Text>
|
|
330
|
+
</Stack>
|
|
331
|
+
</Card>
|
|
332
|
+
</Grid>
|
|
333
|
+
<Separator />
|
|
334
|
+
<Alert title='Inventory sync delayed' action={<Button size={1} v='surface'>Retry</Button>}>
|
|
335
|
+
Check this status before creating the next shipment.
|
|
336
|
+
</Alert>
|
|
337
|
+
</Section>`,
|
|
261
338
|
buttons: `import {Button, Spinner} from '@orcestr/ui';
|
|
262
339
|
import {LuCheck, LuInfo, LuTrash2, LuTriangleAlert} from 'react-icons/lu';
|
|
263
340
|
|
|
@@ -295,22 +372,40 @@ import {LuCheck, LuInfo, LuTrash2, LuTriangleAlert} from 'react-icons/lu';
|
|
|
295
372
|
<Button size={3} tone='success' loading leftIcon={<LuCheck size={16} />}>Success</Button>
|
|
296
373
|
<Spinner />`,
|
|
297
374
|
iconButtons: `import {Button, IconButton, Menu, Tooltip} from '@orcestr/ui';
|
|
298
|
-
import {
|
|
375
|
+
import {
|
|
376
|
+
LuBell,
|
|
377
|
+
LuCheck,
|
|
378
|
+
LuCommand,
|
|
379
|
+
LuDownload,
|
|
380
|
+
LuEllipsis,
|
|
381
|
+
LuInfo,
|
|
382
|
+
LuMessageSquare,
|
|
383
|
+
LuRefreshCw,
|
|
384
|
+
LuSearch,
|
|
385
|
+
LuSettings,
|
|
386
|
+
LuShield,
|
|
387
|
+
LuUpload,
|
|
388
|
+
} from 'react-icons/lu';
|
|
299
389
|
|
|
300
390
|
<IconButton v='solid' icon={<LuCheck size={17} />} aria-label='Solid icon' />
|
|
301
|
-
<IconButton v='soft' icon={<
|
|
302
|
-
<IconButton v='surface' icon={<
|
|
303
|
-
<IconButton v='pad' icon={<
|
|
391
|
+
<IconButton v='soft' icon={<LuSearch size={17} />} aria-label='Search icon' />
|
|
392
|
+
<IconButton v='surface' icon={<LuUpload size={17} />} aria-label='Upload icon' />
|
|
393
|
+
<IconButton v='pad' icon={<LuShield size={17} />} aria-label='Security icon' />
|
|
304
394
|
<IconButton v='outline' icon={<LuInfo size={17} />} aria-label='Outline icon' />
|
|
305
395
|
<IconButton v='ghost' icon={<LuEllipsis size={17} />} aria-label='Ghost icon' />
|
|
306
396
|
|
|
307
|
-
<IconButton size={1} v='surface' icon={<
|
|
308
|
-
<IconButton size={2} v='surface' icon={<
|
|
309
|
-
<IconButton size={3} v='surface' icon={<
|
|
310
|
-
<IconButton size={4} v='surface' icon={<
|
|
397
|
+
<IconButton size={1} v='surface' icon={<LuSearch size={13} />} aria-label='Size 1 search' />
|
|
398
|
+
<IconButton size={2} v='surface' icon={<LuDownload size={15} />} aria-label='Size 2 download' />
|
|
399
|
+
<IconButton size={3} v='surface' icon={<LuRefreshCw size={17} />} aria-label='Size 3 refresh' />
|
|
400
|
+
<IconButton size={4} v='surface' icon={<LuSettings size={19} />} aria-label='Size 4 settings' />
|
|
311
401
|
|
|
312
402
|
<IconButton size={3} v='pad' round={false} r={3} icon={<LuCommand size={17} />} aria-label='Square pad icon' />
|
|
313
|
-
<IconButton size={3} v='outline' loading icon={<
|
|
403
|
+
<IconButton size={3} v='outline' loading icon={<LuRefreshCw size={17} />} aria-label='Loading icon' />
|
|
404
|
+
|
|
405
|
+
<IconButton v='surface' icon={<LuBell size={17} />} badge={64} aria-label='Notifications' />
|
|
406
|
+
<IconButton v='surface' icon={<LuMessageSquare size={17} />} badge={99} aria-label='Unread chats' />
|
|
407
|
+
<IconButton v='pad' icon={<LuShield size={17} />} badge={3} badgeTone='warning' aria-label='Security warnings' />
|
|
408
|
+
<IconButton v='ghost' icon={<LuDownload size={17} />} badge='new' badgeTone='info' aria-label='New export' />
|
|
314
409
|
|
|
315
410
|
<IconButton size={1} v='ghost' icon={<LuEllipsis size={13} />} aria-label='Ghost size 1' />
|
|
316
411
|
<IconButton size={2} v='ghost' icon={<LuEllipsis size={15} />} aria-label='Ghost size 2' />
|
|
@@ -318,10 +413,10 @@ import {LuBell, LuCheck, LuCommand, LuEllipsis, LuInfo} from 'react-icons/lu';
|
|
|
318
413
|
<IconButton size={4} v='ghost' icon={<LuEllipsis size={19} />} aria-label='Ghost size 4' />
|
|
319
414
|
|
|
320
415
|
<Tooltip content='Notifications'>
|
|
321
|
-
<IconButton v='surface' icon={<LuBell size={17} />} aria-label='Notifications' />
|
|
416
|
+
<IconButton v='surface' icon={<LuBell size={17} />} badge={8} aria-label='Notifications' />
|
|
322
417
|
</Tooltip>
|
|
323
|
-
<IconButton v='surface' loading icon={<
|
|
324
|
-
<IconButton v='pad' icon={<
|
|
418
|
+
<IconButton v='surface' loading icon={<LuRefreshCw size={17} />} aria-label='Loading action' />
|
|
419
|
+
<IconButton v='pad' icon={<LuSettings size={17} />} aria-label='Pad action' />
|
|
325
420
|
<Menu
|
|
326
421
|
trigger={<IconButton v='surface' icon={<LuEllipsis size={17} />} aria-label='Actions' />}
|
|
327
422
|
items={menuItems}
|
|
@@ -329,6 +424,35 @@ import {LuBell, LuCheck, LuCommand, LuEllipsis, LuInfo} from 'react-icons/lu';
|
|
|
329
424
|
<Button v='surface' leftIcon={<LuCommand size={16} />} onClick={openPalette}>
|
|
330
425
|
Commands
|
|
331
426
|
</Button>`,
|
|
427
|
+
iconTextButton: `import {IconTextButton} from '@orcestr/ui';
|
|
428
|
+
import {LuCopy, LuExternalLink, LuPackagePlus} from 'react-icons/lu';
|
|
429
|
+
|
|
430
|
+
<IconTextButton icon={<LuPackagePlus size={16} />}>
|
|
431
|
+
Create PO
|
|
432
|
+
</IconTextButton>
|
|
433
|
+
<IconTextButton v='soft' tone='info' icon={<LuCopy size={16} />}>
|
|
434
|
+
Duplicate
|
|
435
|
+
</IconTextButton>
|
|
436
|
+
<IconTextButton href='/requests' v='surface' icon={<LuExternalLink size={16} />}>
|
|
437
|
+
Link action
|
|
438
|
+
</IconTextButton>
|
|
439
|
+
<IconTextButton v='outline' iconSide='end' icon={<LuExternalLink size={16} />}>
|
|
440
|
+
Open details
|
|
441
|
+
</IconTextButton>`,
|
|
442
|
+
contextMenu: `import {ContextMenu, Text, type MenuItem} from '@orcestr/ui';
|
|
443
|
+
|
|
444
|
+
const items: MenuItem[] = [
|
|
445
|
+
{key: 'open', label: 'Open'},
|
|
446
|
+
{key: 'copy', label: 'Copy link'},
|
|
447
|
+
{key: 'delete', label: 'Delete', tone: 'danger', separatorBefore: true},
|
|
448
|
+
];
|
|
449
|
+
|
|
450
|
+
<ContextMenu items={items}>
|
|
451
|
+
<div className='row'>
|
|
452
|
+
<Text fs='13px' fw={760}>Right-click this row</Text>
|
|
453
|
+
<Text fs='12px' tone='muted'>Context menu reuses Menu item styling.</Text>
|
|
454
|
+
</div>
|
|
455
|
+
</ContextMenu>`,
|
|
332
456
|
textFields: `import {Button, Flex, Field, TextArea, TextField} from '@orcestr/ui';
|
|
333
457
|
import {LuSearch} from 'react-icons/lu';
|
|
334
458
|
|
|
@@ -346,6 +470,120 @@ import {LuSearch} from 'react-icons/lu';
|
|
|
346
470
|
<Field label='Comment'>
|
|
347
471
|
<TextArea rows={4} placeholder='Internal note' />
|
|
348
472
|
</Field>`,
|
|
473
|
+
inlineEdit: `import {useState} from 'react';
|
|
474
|
+
import {Badge, Field, IconButton, InlineEditField, InlineEditMultiField, Listbox, Popover, Stack} from '@orcestr/ui';
|
|
475
|
+
import {LuCheck, LuPencil} from 'react-icons/lu';
|
|
476
|
+
|
|
477
|
+
const [supplierOpen, setSupplierOpen] = useState(false);
|
|
478
|
+
const [paymentOpen, setPaymentOpen] = useState(false);
|
|
479
|
+
const [supplierKey, setSupplierKey] = useState('northwind');
|
|
480
|
+
const [paymentTermKey, setPaymentTermKey] = useState('net30');
|
|
481
|
+
const [ownerOpen, setOwnerOpen] = useState(false);
|
|
482
|
+
const [ownerKeys, setOwnerKeys] = useState(['michael', 'team']);
|
|
483
|
+
const supplier = suppliers.find((item) => item.key === supplierKey);
|
|
484
|
+
const paymentTerm = paymentTerms.find((item) => item.key === paymentTermKey);
|
|
485
|
+
const selectedOwners = owners.filter((item) => ownerKeys.includes(item.key));
|
|
486
|
+
const toggleOwner = (key) => {
|
|
487
|
+
setOwnerKeys((current) =>
|
|
488
|
+
current.includes(key)
|
|
489
|
+
? current.filter((item) => item !== key)
|
|
490
|
+
: [...current, key],
|
|
491
|
+
);
|
|
492
|
+
};
|
|
493
|
+
|
|
494
|
+
<Stack g={3}>
|
|
495
|
+
<Field label='Single value'>
|
|
496
|
+
<InlineEditField
|
|
497
|
+
label={supplier?.label ?? 'Choose supplier'}
|
|
498
|
+
meta='Supplier'
|
|
499
|
+
onOpen={() => setSupplierOpen(true)}
|
|
500
|
+
action={
|
|
501
|
+
<Popover
|
|
502
|
+
open={supplierOpen}
|
|
503
|
+
onOpenChange={setSupplierOpen}
|
|
504
|
+
trigger={<IconButton size={1} v='ghost' icon={<LuPencil size={13} />} />}
|
|
505
|
+
className='oui-combobox-content'
|
|
506
|
+
>
|
|
507
|
+
<Listbox
|
|
508
|
+
className='oui-combobox-options'
|
|
509
|
+
items={suppliers.map((item) => ({value: item.key, label: item.label}))}
|
|
510
|
+
value={supplierKey}
|
|
511
|
+
onValueChange={(next) => {
|
|
512
|
+
setSupplierKey(next);
|
|
513
|
+
setSupplierOpen(false);
|
|
514
|
+
}}
|
|
515
|
+
/>
|
|
516
|
+
</Popover>
|
|
517
|
+
}
|
|
518
|
+
/>
|
|
519
|
+
</Field>
|
|
520
|
+
<Field label='Single value without meta'>
|
|
521
|
+
<InlineEditField
|
|
522
|
+
label={paymentTerm?.label ?? 'Choose payment terms'}
|
|
523
|
+
onOpen={() => setPaymentOpen(true)}
|
|
524
|
+
action={
|
|
525
|
+
<Popover
|
|
526
|
+
open={paymentOpen}
|
|
527
|
+
onOpenChange={setPaymentOpen}
|
|
528
|
+
trigger={<IconButton size={1} v='ghost' icon={<LuPencil size={13} />} />}
|
|
529
|
+
className='oui-combobox-content'
|
|
530
|
+
>
|
|
531
|
+
<Listbox
|
|
532
|
+
className='oui-combobox-options'
|
|
533
|
+
items={paymentTerms.map((item) => ({value: item.key, label: item.label}))}
|
|
534
|
+
value={paymentTermKey}
|
|
535
|
+
onValueChange={(next) => {
|
|
536
|
+
setPaymentTermKey(next);
|
|
537
|
+
setPaymentOpen(false);
|
|
538
|
+
}}
|
|
539
|
+
/>
|
|
540
|
+
</Popover>
|
|
541
|
+
}
|
|
542
|
+
/>
|
|
543
|
+
</Field>
|
|
544
|
+
<Field label='Multiple values'>
|
|
545
|
+
<InlineEditMultiField
|
|
546
|
+
onOpen={() => setOwnerOpen(true)}
|
|
547
|
+
action={(
|
|
548
|
+
<span onClick={(event) => event.stopPropagation()}>
|
|
549
|
+
<Popover
|
|
550
|
+
open={ownerOpen}
|
|
551
|
+
onOpenChange={setOwnerOpen}
|
|
552
|
+
trigger={<IconButton size={1} v='ghost' icon={<LuPencil size={13} />} />}
|
|
553
|
+
className='oui-combobox-content'
|
|
554
|
+
>
|
|
555
|
+
<Stack g={1} p={1}>
|
|
556
|
+
{owners.map((item) => {
|
|
557
|
+
const selected = ownerKeys.includes(item.key);
|
|
558
|
+
return (
|
|
559
|
+
<button
|
|
560
|
+
key={item.key}
|
|
561
|
+
type='button'
|
|
562
|
+
className='oui-combobox-option'
|
|
563
|
+
data-selected={selected ? 'true' : 'false'}
|
|
564
|
+
onClick={() => toggleOwner(item.key)}
|
|
565
|
+
>
|
|
566
|
+
<span className='oui-multi-select-check'>
|
|
567
|
+
{selected ? <LuCheck size={13} /> : null}
|
|
568
|
+
</span>
|
|
569
|
+
<span className='oui-combobox-option-main'>
|
|
570
|
+
{item.label}
|
|
571
|
+
</span>
|
|
572
|
+
</button>
|
|
573
|
+
);
|
|
574
|
+
})}
|
|
575
|
+
</Stack>
|
|
576
|
+
</Popover>
|
|
577
|
+
</span>
|
|
578
|
+
)}
|
|
579
|
+
col
|
|
580
|
+
>
|
|
581
|
+
{selectedOwners.map((item) => (
|
|
582
|
+
<Badge key={item.key} tone='neutral' v='soft'>{item.label}</Badge>
|
|
583
|
+
))}
|
|
584
|
+
</InlineEditMultiField>
|
|
585
|
+
</Field>
|
|
586
|
+
</Stack>`,
|
|
349
587
|
groupedFields: `import {Button, Flex, Field, Grid, Section, Stack, Text, TextArea, TextField} from '@orcestr/ui';
|
|
350
588
|
|
|
351
589
|
<Section g={3}>
|
|
@@ -391,7 +629,7 @@ import {LuSearch} from 'react-icons/lu';
|
|
|
391
629
|
today='2026-06-26'
|
|
392
630
|
onValueChange={setDateRange}
|
|
393
631
|
/>`,
|
|
394
|
-
selection: `import {Combobox, EntityPicker, MultiSelect, Select, SegmentedControl} from '@orcestr/ui';
|
|
632
|
+
selection: `import {Combobox, EntityPicker, MultiSelect, PaginatedCombobox, Select, SegmentedControl} from '@orcestr/ui';
|
|
395
633
|
import {LuPlus} from 'react-icons/lu';
|
|
396
634
|
|
|
397
635
|
<Select items={items} value={status} onValueChange={setStatus} clearable />
|
|
@@ -454,6 +692,27 @@ import {LuPlus} from 'react-icons/lu';
|
|
|
454
692
|
onClick: addEntity,
|
|
455
693
|
}}
|
|
456
694
|
/>
|
|
695
|
+
<PaginatedCombobox
|
|
696
|
+
value={paginatedValue}
|
|
697
|
+
onChange={setPaginatedValue}
|
|
698
|
+
loadPage={(page, search) => loadEntityPage(locale, page, search)}
|
|
699
|
+
getItemId={(item) => item.id}
|
|
700
|
+
renderSelectedLabel={(item) => item.article}
|
|
701
|
+
renderOption={(item) => (
|
|
702
|
+
<span className='oui-entity-option-main'>
|
|
703
|
+
<span className='oui-entity-option-code'>{item.article}</span>
|
|
704
|
+
<span className='oui-entity-option-meta'>{item.name}</span>
|
|
705
|
+
</span>
|
|
706
|
+
)}
|
|
707
|
+
placeholder='Paginated combobox'
|
|
708
|
+
clearable
|
|
709
|
+
searchAction={{label: 'Create entity from search', onClick: createEntity}}
|
|
710
|
+
optionAction={{
|
|
711
|
+
icon: <LuPlus size={14} />,
|
|
712
|
+
label: (item) => 'Add ' + item.article,
|
|
713
|
+
onClick: addEntity,
|
|
714
|
+
}}
|
|
715
|
+
/>
|
|
457
716
|
<SegmentedControl
|
|
458
717
|
items={[
|
|
459
718
|
{value: 'active', label: 'Active'},
|
|
@@ -566,7 +825,7 @@ import {LuChevronDown} from 'react-icons/lu';
|
|
|
566
825
|
overlayColor='transparent'
|
|
567
826
|
overlayOpacity={0}
|
|
568
827
|
overlayBlur={10}
|
|
569
|
-
borderColor='color-mix(in srgb, var(--oui-
|
|
828
|
+
borderColor='color-mix(in srgb, var(--oui-primary-base) 34%, var(--oui-border))'
|
|
570
829
|
radius={10}
|
|
571
830
|
shadow='0 24px 90px rgb(0 0 0 / 44%)'
|
|
572
831
|
footer={
|
|
@@ -595,7 +854,7 @@ import {LuChevronDown} from 'react-icons/lu';
|
|
|
595
854
|
overlayColor='transparent'
|
|
596
855
|
overlayOpacity={0}
|
|
597
856
|
overlayBlur={8}
|
|
598
|
-
borderColor='color-mix(in srgb, var(--oui-
|
|
857
|
+
borderColor='color-mix(in srgb, var(--oui-primary-base) 38%, var(--oui-border))'
|
|
599
858
|
radius={10}
|
|
600
859
|
footer={
|
|
601
860
|
<Flex g={2} j='e' w='100%'>
|
|
@@ -619,7 +878,7 @@ import {LuChevronDown} from 'react-icons/lu';
|
|
|
619
878
|
overlayColor='transparent'
|
|
620
879
|
overlayOpacity={0}
|
|
621
880
|
overlayBlur={6}
|
|
622
|
-
borderColor='color-mix(in srgb, var(--oui-
|
|
881
|
+
borderColor='color-mix(in srgb, var(--oui-primary-base) 42%, var(--oui-border))'
|
|
623
882
|
radius={10}
|
|
624
883
|
>
|
|
625
884
|
<Stack g={3}>
|
|
@@ -657,7 +916,7 @@ import {LuChevronDown} from 'react-icons/lu';
|
|
|
657
916
|
overlayOpacity={0}
|
|
658
917
|
overlayBlur={14}
|
|
659
918
|
animationDuration='1200ms'
|
|
660
|
-
borderColor='color-mix(in srgb, var(--oui-
|
|
919
|
+
borderColor='color-mix(in srgb, var(--oui-primary-base) 42%, var(--oui-border))'
|
|
661
920
|
radius={10}
|
|
662
921
|
>
|
|
663
922
|
<Stack g={3}>
|
|
@@ -692,7 +951,7 @@ import {LuChevronDown} from 'react-icons/lu';
|
|
|
692
951
|
overlayColor='#3b0712'
|
|
693
952
|
overlayOpacity={0.48}
|
|
694
953
|
overlayBlur={3}
|
|
695
|
-
borderColor='color-mix(in srgb, var(--oui-danger) 46%, var(--oui-border))'
|
|
954
|
+
borderColor='color-mix(in srgb, var(--oui-danger-base) 46%, var(--oui-border))'
|
|
696
955
|
radius={8}
|
|
697
956
|
footer={
|
|
698
957
|
<Flex g={2} j='e' w='100%'>
|
|
@@ -714,10 +973,10 @@ import {LuChevronDown} from 'react-icons/lu';
|
|
|
714
973
|
{
|
|
715
974
|
key: 'create-record',
|
|
716
975
|
label: 'Create record',
|
|
717
|
-
description: 'Start a
|
|
976
|
+
description: 'Start a new record.',
|
|
718
977
|
shortcut: 'C',
|
|
719
978
|
group: 'Create',
|
|
720
|
-
keywords: ['new', '
|
|
979
|
+
keywords: ['new', 'record'],
|
|
721
980
|
onSelect: () => toast.info('Create record action'),
|
|
722
981
|
},
|
|
723
982
|
]}
|
|
@@ -929,6 +1188,116 @@ const toastPositionVariants: Array<{
|
|
|
929
1188
|
</Modal>
|
|
930
1189
|
|
|
931
1190
|
<Button onClick={() => setOpen(true)}>Open modal</Button>`,
|
|
1191
|
+
tablePagination: `import {Badge, Flex, Pagination, Stack, Table, Text} from '@orcestr/ui';
|
|
1192
|
+
|
|
1193
|
+
<Stack g={3}>
|
|
1194
|
+
<Table v='surface' w='100%'>
|
|
1195
|
+
<Table.Header>
|
|
1196
|
+
<Table.Row>
|
|
1197
|
+
<Table.ColumnHeaderCell>Document</Table.ColumnHeaderCell>
|
|
1198
|
+
<Table.ColumnHeaderCell>Status</Table.ColumnHeaderCell>
|
|
1199
|
+
<Table.ColumnHeaderCell align='right'>Qty</Table.ColumnHeaderCell>
|
|
1200
|
+
</Table.Row>
|
|
1201
|
+
</Table.Header>
|
|
1202
|
+
<Table.Body>
|
|
1203
|
+
{rows.map((row) => (
|
|
1204
|
+
<Table.Row key={row.name}>
|
|
1205
|
+
<Table.RowHeaderCell>{row.name}</Table.RowHeaderCell>
|
|
1206
|
+
<Table.Cell><Badge>{row.status}</Badge></Table.Cell>
|
|
1207
|
+
<Table.Cell align='right'>{row.quantity}</Table.Cell>
|
|
1208
|
+
</Table.Row>
|
|
1209
|
+
))}
|
|
1210
|
+
</Table.Body>
|
|
1211
|
+
</Table>
|
|
1212
|
+
<Flex j='sb' a='c' wrap g={2}>
|
|
1213
|
+
<Text fs='13px' tone='muted'>Showing 25 items per page</Text>
|
|
1214
|
+
<Pagination page={page} pageCount={4} onPageChange={setPage} />
|
|
1215
|
+
</Flex>
|
|
1216
|
+
</Stack>`,
|
|
1217
|
+
appSidebar: `import {useState} from 'react';
|
|
1218
|
+
import {AppSidebar, Flex, IconButton, Text} from '@orcestr/ui';
|
|
1219
|
+
import {LuBell, LuBox, LuLayoutDashboard, LuSettings, LuTruck} from 'react-icons/lu';
|
|
1220
|
+
|
|
1221
|
+
const [activeKey, setActiveKey] = useState('requests');
|
|
1222
|
+
|
|
1223
|
+
<AppSidebar
|
|
1224
|
+
header={(
|
|
1225
|
+
<>
|
|
1226
|
+
<div className='oui-app-sidebar-brand'>
|
|
1227
|
+
<span className='oui-app-sidebar-logo'>O</span>
|
|
1228
|
+
<span className='oui-app-sidebar-title'>Deliveries</span>
|
|
1229
|
+
</div>
|
|
1230
|
+
<div className='oui-app-sidebar-actions'>
|
|
1231
|
+
<IconButton size={2} v='ghost' icon={<LuSettings />} />
|
|
1232
|
+
</div>
|
|
1233
|
+
</>
|
|
1234
|
+
)}
|
|
1235
|
+
itemH={38}
|
|
1236
|
+
onNavigate={(item) => setActiveKey(item.key)}
|
|
1237
|
+
groups={[
|
|
1238
|
+
{
|
|
1239
|
+
key: 'main',
|
|
1240
|
+
items: [
|
|
1241
|
+
{
|
|
1242
|
+
key: 'overview',
|
|
1243
|
+
label: 'Overview',
|
|
1244
|
+
icon: <LuLayoutDashboard />,
|
|
1245
|
+
active: activeKey === 'overview',
|
|
1246
|
+
},
|
|
1247
|
+
{
|
|
1248
|
+
key: 'requests',
|
|
1249
|
+
label: 'Requests',
|
|
1250
|
+
icon: <LuTruck />,
|
|
1251
|
+
active: activeKey === 'requests',
|
|
1252
|
+
},
|
|
1253
|
+
{
|
|
1254
|
+
key: 'products',
|
|
1255
|
+
label: 'Products',
|
|
1256
|
+
icon: <LuBox />,
|
|
1257
|
+
active: activeKey === 'products',
|
|
1258
|
+
},
|
|
1259
|
+
],
|
|
1260
|
+
},
|
|
1261
|
+
]}
|
|
1262
|
+
footer={(
|
|
1263
|
+
<Flex col g={2}>
|
|
1264
|
+
<Flex g={1}>
|
|
1265
|
+
<IconButton size={2} v='ghost' icon={<LuBell />} badge={64} />
|
|
1266
|
+
<IconButton size={2} v='ghost' icon={<LuSettings />} />
|
|
1267
|
+
</Flex>
|
|
1268
|
+
<Text fs='12px' tone='muted'>Admin workspace</Text>
|
|
1269
|
+
</Flex>
|
|
1270
|
+
)}
|
|
1271
|
+
/>`,
|
|
1272
|
+
specialModal: `import {Badge, Button, Flex, SpecialModal, Stack, Text} from '@orcestr/ui';
|
|
1273
|
+
|
|
1274
|
+
<SpecialModal open={open} onOpenChange={setOpen} size='lg' scroll='body'>
|
|
1275
|
+
<SpecialModal.Header
|
|
1276
|
+
title='Request PR-2026-0900'
|
|
1277
|
+
meta={<Badge tone='success'>Closed</Badge>}
|
|
1278
|
+
actions={<SpecialModal.Close />}
|
|
1279
|
+
/>
|
|
1280
|
+
<SpecialModal.Body>
|
|
1281
|
+
<Stack g={3}>
|
|
1282
|
+
<Flex g={4} wrap>
|
|
1283
|
+
<Stack g={0} w='min(100%, 220px)'>
|
|
1284
|
+
<Text fs='12px' tone='muted'>Supplier</Text>
|
|
1285
|
+
<Text fw={760}>Northwind Trading LLC</Text>
|
|
1286
|
+
</Stack>
|
|
1287
|
+
<Stack g={0} w='min(100%, 180px)'>
|
|
1288
|
+
<Text fs='12px' tone='muted'>Plan arrival</Text>
|
|
1289
|
+
<Text fw={760}>25.06.2026</Text>
|
|
1290
|
+
</Stack>
|
|
1291
|
+
</Flex>
|
|
1292
|
+
</Stack>
|
|
1293
|
+
</SpecialModal.Body>
|
|
1294
|
+
<SpecialModal.Footer>
|
|
1295
|
+
<Flex g={2} j='e' w='100%'>
|
|
1296
|
+
<Button v='surface' onClick={() => setOpen(false)}>Close</Button>
|
|
1297
|
+
<Button>Save</Button>
|
|
1298
|
+
</Flex>
|
|
1299
|
+
</SpecialModal.Footer>
|
|
1300
|
+
</SpecialModal>`,
|
|
932
1301
|
data: `import {Button, DataTable, TextField, type DataTableSort} from '@orcestr/ui';
|
|
933
1302
|
|
|
934
1303
|
const [sort, setSort] = useState<DataTableSort | null>({key: 'name', direction: 'asc'});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exampleData.d.ts","sourceRoot":"","sources":["../../src/example/exampleData.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,kBAAkB,EAAE,KAAK,WAAW,EAAE,KAAK,eAAe,EAAC,MAAM,IAAI,CAAC;AAEnF,MAAM,MAAM,cAAc,GAAG;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,SAAS,cAAc,EAAE,CAAC;CACpC,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"exampleData.d.ts","sourceRoot":"","sources":["../../src/example/exampleData.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,kBAAkB,EAAE,KAAK,WAAW,EAAE,KAAK,eAAe,EAAC,MAAM,IAAI,CAAC;AAEnF,MAAM,MAAM,cAAc,GAAG;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,SAAS,cAAc,EAAE,CAAC;CACpC,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,eAAe,EA0FtC,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,cAAc,EAA8C,CAAC;AACpF,eAAO,MAAM,aAAa,+BAAyD,CAAC;AA0GpF,MAAM,MAAM,YAAY,GAAG;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAClB,CAAC;AAgBF,wBAAgB,cAAc,CAAC,MAAM,EAAE,eAAe,iBAErD;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,eAAe,wBAEtD;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,eAAe;;;IAEpD;AAMD,wBAAsB,cAAc,CAChC,MAAM,EAAE,eAAe,EACvB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM;;;;;;GAiBjB"}
|