@orcestr/ui 0.1.1 → 0.2.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.
Files changed (193) hide show
  1. package/README.md +11 -11
  2. package/README.ru.md +10 -10
  3. package/dist/components/Action/ActionConfirmModal.d.ts.map +1 -1
  4. package/dist/components/Action/ActionTypes.d.ts +1 -1
  5. package/dist/components/Action/ActionTypes.d.ts.map +1 -1
  6. package/dist/components/ActionMenu/ActionMenu.d.ts.map +1 -1
  7. package/dist/components/Alert/Alert.d.ts.map +1 -1
  8. package/dist/components/Alert/Alert.js +1 -1
  9. package/dist/components/AppShell/AppShell.d.ts.map +1 -1
  10. package/dist/components/AppShell/AppShell.js +9 -10
  11. package/dist/components/AppSidebar/AppSidebar.d.ts.map +1 -1
  12. package/dist/components/AppSidebar/AppSidebar.js +22 -17
  13. package/dist/components/Badge/Badge.d.ts.map +1 -1
  14. package/dist/components/Badge/Badge.js +1 -1
  15. package/dist/components/BadgeSelectMenu/BadgeSelectMenu.d.ts.map +1 -1
  16. package/dist/components/BadgeSelectMenu/BadgeSelectMenu.js +5 -5
  17. package/dist/components/Box/Box.d.ts.map +1 -1
  18. package/dist/components/Box/Box.js +1 -1
  19. package/dist/components/Button/Button.d.ts.map +1 -1
  20. package/dist/components/Button/Button.js +2 -2
  21. package/dist/components/Card/Card.d.ts.map +1 -1
  22. package/dist/components/Checkbox/Checkbox.d.ts.map +1 -1
  23. package/dist/components/Checkbox/Checkbox.js +1 -1
  24. package/dist/components/Collapse/Collapse.d.ts.map +1 -1
  25. package/dist/components/Collapse/Collapse.js +1 -1
  26. package/dist/components/Combobox/Combobox.d.ts.map +1 -1
  27. package/dist/components/Combobox/Combobox.js +7 -2
  28. package/dist/components/CommandPalette/CommandPalette.d.ts.map +1 -1
  29. package/dist/components/CommandPalette/CommandPalette.js +6 -12
  30. package/dist/components/ConfirmDialog/ConfirmDialog.d.ts +1 -1
  31. package/dist/components/ConfirmDialog/ConfirmDialog.d.ts.map +1 -1
  32. package/dist/components/ConfirmDialog/ConfirmDialog.js +1 -1
  33. package/dist/components/ContextMenu/ContextMenu.d.ts.map +1 -1
  34. package/dist/components/ContextMenu/ContextMenu.js +3 -3
  35. package/dist/components/CopyButton/CopyButton.d.ts.map +1 -1
  36. package/dist/components/DataTable/DataTable.d.ts.map +1 -1
  37. package/dist/components/DataTable/DataTable.js +29 -22
  38. package/dist/components/DataTable/DataTableStateAdapters.d.ts.map +1 -1
  39. package/dist/components/DataTable/DataTableStateAdapters.js +3 -4
  40. package/dist/components/DatePicker/DatePicker.d.ts.map +1 -1
  41. package/dist/components/DatePicker/DatePicker.js +1 -1
  42. package/dist/components/DatePicker/DatePickerState.d.ts.map +1 -1
  43. package/dist/components/DatePicker/DatePickerState.js +3 -1
  44. package/dist/components/DateRangePicker/DateRangePicker.d.ts.map +1 -1
  45. package/dist/components/DateRangePresetPicker/DateRangePresetPicker.d.ts.map +1 -1
  46. package/dist/components/DateRangePresetPicker/DateRangePresetPicker.js +1 -1
  47. package/dist/components/DateRangePresetPicker/DateRangePresetPickerState.d.ts.map +1 -1
  48. package/dist/components/Dialog/Dialog.d.ts.map +1 -1
  49. package/dist/components/Drawer/Drawer.d.ts.map +1 -1
  50. package/dist/components/Drawer/Drawer.js +2 -2
  51. package/dist/components/EntityPicker/EntityPicker.d.ts.map +1 -1
  52. package/dist/components/EntityPicker/EntityPicker.js +2 -2
  53. package/dist/components/Field/Field.d.ts.map +1 -1
  54. package/dist/components/Field/Field.js +1 -1
  55. package/dist/components/Flex/Flex.d.ts.map +1 -1
  56. package/dist/components/Flex/Flex.js +1 -1
  57. package/dist/components/Grid/Grid.d.ts.map +1 -1
  58. package/dist/components/Highlight/Highlight.d.ts.map +1 -1
  59. package/dist/components/Highlight/Highlight.js +1 -1
  60. package/dist/components/IconButton/IconButton.d.ts.map +1 -1
  61. package/dist/components/IconButton/IconButton.js +3 -3
  62. package/dist/components/IconText/IconText.d.ts.map +1 -1
  63. package/dist/components/IconText/IconText.js +3 -1
  64. package/dist/components/IconTextButton/IconTextButton.d.ts.map +1 -1
  65. package/dist/components/InlineEdit/InlineEdit.d.ts.map +1 -1
  66. package/dist/components/InlineEdit/InlineEdit.js +22 -7
  67. package/dist/components/LinkButton/LinkButton.d.ts.map +1 -1
  68. package/dist/components/LinkButton/LinkButton.js +2 -2
  69. package/dist/components/Listbox/Listbox.js +2 -2
  70. package/dist/components/Menu/Menu.d.ts.map +1 -1
  71. package/dist/components/Menu/Menu.js +5 -5
  72. package/dist/components/Modal/Modal.d.ts.map +1 -1
  73. package/dist/components/Modal/Modal.js +4 -8
  74. package/dist/components/MultiSelect/MultiSelect.d.ts.map +1 -1
  75. package/dist/components/MultiSelect/MultiSelect.js +5 -7
  76. package/dist/components/NumberField/NumberField.d.ts.map +1 -1
  77. package/dist/components/NumberField/NumberField.js +1 -1
  78. package/dist/components/Overlay/OverlayProvider.d.ts +1 -1
  79. package/dist/components/Overlay/OverlayProvider.d.ts.map +1 -1
  80. package/dist/components/Overlay/OverlayProvider.js +3 -7
  81. package/dist/components/PaginatedCombobox/PaginatedCombobox.d.ts.map +1 -1
  82. package/dist/components/PaginatedCombobox/PaginatedCombobox.js +9 -8
  83. package/dist/components/PaginatedCombobox/PaginatedComboboxReactQueryAdapter.d.ts.map +1 -1
  84. package/dist/components/PaginatedCombobox/PaginatedComboboxReactQueryAdapter.js +2 -2
  85. package/dist/components/Pagination/Pagination.js +1 -1
  86. package/dist/components/Popover/Popover.d.ts.map +1 -1
  87. package/dist/components/Popover/Popover.js +16 -18
  88. package/dist/components/Portal/Portal.d.ts.map +1 -1
  89. package/dist/components/RadioGroup/RadioGroup.d.ts.map +1 -1
  90. package/dist/components/RadioGroup/RadioGroup.js +1 -1
  91. package/dist/components/ScrollArea/ScrollArea.d.ts.map +1 -1
  92. package/dist/components/ScrollArea/ScrollArea.js +10 -23
  93. package/dist/components/Section/Section.d.ts.map +1 -1
  94. package/dist/components/SegmentedControl/SegmentedControl.d.ts.map +1 -1
  95. package/dist/components/SegmentedControl/SegmentedControl.js +1 -1
  96. package/dist/components/Select/Select.d.ts.map +1 -1
  97. package/dist/components/Select/Select.js +4 -4
  98. package/dist/components/Separator/Separator.d.ts.map +1 -1
  99. package/dist/components/Separator/Separator.js +1 -1
  100. package/dist/components/Skeleton/Skeleton.d.ts.map +1 -1
  101. package/dist/components/Skeleton/Skeleton.js +1 -1
  102. package/dist/components/SpecialModal/SpecialModal.d.ts.map +1 -1
  103. package/dist/components/SpecialModal/SpecialModal.js +2 -2
  104. package/dist/components/Spinner/Spinner.d.ts.map +1 -1
  105. package/dist/components/Spinner/Spinner.js +1 -1
  106. package/dist/components/Stack/Stack.d.ts.map +1 -1
  107. package/dist/components/Stack/Stack.js +1 -1
  108. package/dist/components/State/State.d.ts.map +1 -1
  109. package/dist/components/State/State.js +5 -5
  110. package/dist/components/State/stateIcon.d.ts.map +1 -1
  111. package/dist/components/StepperInput/StepperInput.js +2 -2
  112. package/dist/components/Switch/Switch.js +1 -1
  113. package/dist/components/Table/Table.d.ts.map +1 -1
  114. package/dist/components/Table/Table.js +2 -2
  115. package/dist/components/Tabs/Tabs.d.ts.map +1 -1
  116. package/dist/components/Tabs/Tabs.js +10 -12
  117. package/dist/components/Text/Text.d.ts.map +1 -1
  118. package/dist/components/Text/Text.js +1 -1
  119. package/dist/components/TextArea/TextArea.d.ts.map +1 -1
  120. package/dist/components/TextArea/TextArea.js +2 -2
  121. package/dist/components/TextField/TextField.d.ts.map +1 -1
  122. package/dist/components/TextField/TextField.js +3 -3
  123. package/dist/components/Toast/Toast.d.ts.map +1 -1
  124. package/dist/components/Toast/Toast.js +9 -15
  125. package/dist/components/Tooltip/Tooltip.d.ts.map +1 -1
  126. package/dist/components/Tooltip/Tooltip.js +7 -9
  127. package/dist/components/VisuallyHidden/VisuallyHidden.d.ts.map +1 -1
  128. package/dist/example/CodePreview.d.ts.map +1 -1
  129. package/dist/example/CodePreview.js +10 -10
  130. package/dist/example/ExampleActionsSection.d.ts +1 -1
  131. package/dist/example/ExampleActionsSection.d.ts.map +1 -1
  132. package/dist/example/ExampleActionsSection.js +2 -2
  133. package/dist/example/ExampleApplicationSection.d.ts.map +1 -1
  134. package/dist/example/ExampleApplicationSection.js +69 -21
  135. package/dist/example/ExampleBasicsSections.d.ts.map +1 -1
  136. package/dist/example/ExampleBasicsSections.js +15 -7
  137. package/dist/example/ExampleDataSection.d.ts.map +1 -1
  138. package/dist/example/ExampleDataSection.js +5 -5
  139. package/dist/example/ExampleFieldsSection.d.ts.map +1 -1
  140. package/dist/example/ExampleFieldsSection.js +8 -10
  141. package/dist/example/ExampleFoundationsSection.d.ts +1 -1
  142. package/dist/example/ExampleFoundationsSection.d.ts.map +1 -1
  143. package/dist/example/ExampleFoundationsSection.js +4 -4
  144. package/dist/example/ExampleOverlays.d.ts.map +1 -1
  145. package/dist/example/ExampleOverlays.js +4 -4
  146. package/dist/example/ExampleOverlaysSection.d.ts.map +1 -1
  147. package/dist/example/ExampleOverlaysSection.js +10 -10
  148. package/dist/example/ExampleSelectionSection.d.ts.map +1 -1
  149. package/dist/example/ExampleSelectionSection.js +8 -8
  150. package/dist/example/ExampleStateSection.d.ts +3 -3
  151. package/dist/example/ExampleStateSection.d.ts.map +1 -1
  152. package/dist/example/ExampleStateSection.js +6 -6
  153. package/dist/example/ExampleThemePlayground.d.ts +25 -25
  154. package/dist/example/ExampleThemePlayground.d.ts.map +1 -1
  155. package/dist/example/ExampleThemePlayground.js +48 -37
  156. package/dist/example/UiExamplePage.d.ts.map +1 -1
  157. package/dist/example/UiExamplePage.js +12 -16
  158. package/dist/example/UiExampleSection.d.ts.map +1 -1
  159. package/dist/example/UiExampleSection.js +1 -1
  160. package/dist/example/codeSamples.d.ts.map +1 -1
  161. package/dist/example/codeSamples.js +10 -10
  162. package/dist/example/exampleData.d.ts.map +1 -1
  163. package/dist/example/exampleData.js +2 -2
  164. package/dist/hooks/useControllableState.d.ts.map +1 -1
  165. package/dist/hooks/useControllableState.js +1 -3
  166. package/dist/hooks/useFloatingLayer.d.ts.map +1 -1
  167. package/dist/hooks/useFloatingLayer.js +1 -1
  168. package/dist/hooks/useFloatingPosition.d.ts.map +1 -1
  169. package/dist/hooks/useFloatingPosition.js +10 -15
  170. package/dist/hooks/useFocusTrap.d.ts.map +1 -1
  171. package/dist/hooks/useListNavigation.d.ts.map +1 -1
  172. package/dist/hooks/useListNavigation.js +2 -4
  173. package/dist/hooks/useOutsidePointerDown.d.ts.map +1 -1
  174. package/dist/hooks/useTypeahead.d.ts.map +1 -1
  175. package/dist/locale/LocaleProvider.d.ts.map +1 -1
  176. package/dist/locale/LocaleProvider.js +1 -1
  177. package/dist/provider/OrcestrUiProvider.d.ts.map +1 -1
  178. package/dist/styles/orcestr-ui.css +249 -881
  179. package/dist/theme/ThemeProvider.d.ts.map +1 -1
  180. package/dist/theme/ThemeProvider.js +2 -12
  181. package/dist/theme/defaultTheme.d.ts.map +1 -1
  182. package/dist/theme/defaultTheme.js +158 -52
  183. package/dist/theme/systemProps.d.ts +2 -2
  184. package/dist/theme/systemProps.d.ts.map +1 -1
  185. package/dist/theme/systemProps.js +4 -35
  186. package/dist/theme/themeTypes.d.ts +1 -1
  187. package/dist/theme/themeTypes.d.ts.map +1 -1
  188. package/dist/theme/useTheme.d.ts.map +1 -1
  189. package/dist/utils/cn.d.ts.map +1 -1
  190. package/dist/utils/composeRefs.d.ts.map +1 -1
  191. package/dist/utils/mergeProps.d.ts.map +1 -1
  192. package/dist/utils/polymorphic.d.ts.map +1 -1
  193. package/package.json +1 -1
@@ -6,21 +6,29 @@ import { ExampleTile } from './CodePreview';
6
6
  import { codeSamples } from './codeSamples';
7
7
  import { UiExampleSection } from './UiExampleSection';
8
8
  export function TextSection({ onOpenCode }) {
9
- return (_jsxs(_Fragment, { children: [_jsx(UiExampleSection, { id: 'text', title: 'Text', description: 'Text and shared system props.', children: _jsx(ExampleTile, { title: 'Text', code: codeSamples.text, onOpen: onOpenCode, children: _jsxs(Stack, { g: 3, children: [_jsxs(Stack, { g: 1, children: [_jsx(Text, { as: 'h1', fs: '28px', fw: 780, lh: 1.1, children: "Operations review" }), _jsx(Text, { as: 'h2', fs: '20px', fw: 720, lh: 1.2, children: "Review window and status" }), _jsx(Text, { tone: 'muted', fs: '13px', lh: 1.5, children: "Compact operational text with muted metadata and predictable line height." })] }), _jsxs(Stack, { g: 1, children: [_jsx(Text, { fs: '15px', fw: 700, children: "Body strong text" }), _jsx(Text, { fs: '14px', lh: 1.55, children: "Body regular text for dense forms and tables." }), _jsx(Text, { fs: '12px', tone: 'muted', lh: 1.4, children: "Caption text, helper text and quiet labels." })] }), _jsxs(Flex, { g: 2, wrap: true, children: [_jsx(Text, { tone: 'primary', fw: 700, children: "Primary" }), _jsx(Text, { tone: 'success', fw: 700, children: "Success" }), _jsx(Text, { tone: 'warning', fw: 700, children: "Warning" }), _jsx(Text, { tone: 'danger', fw: 700, children: "Danger" }), _jsx(Text, { tone: 'info', fw: 700, children: "Info" })] }), _jsx(Box, { w: '100%', p: 2, r: 3, style: { background: 'var(--oui-gray-a3)' }, children: _jsx(Text, { display: 'block', truncate: true, children: "This is a long single line value that truncates cleanly inside a constrained row." }) }), _jsxs(Flex, { g: 2, wrap: true, children: [_jsx(Badge, { children: "Neutral" }), _jsx(Badge, { tone: 'primary', children: "Primary" }), _jsx(Badge, { tone: 'success', children: "Success" }), _jsx(Badge, { tone: 'warning', children: "Warning" }), _jsx(Badge, { tone: 'danger', children: "Danger" }), _jsx(Badge, { tone: 'info', children: "Info" })] })] }) }) }), _jsx(UiExampleSection, { id: 'skeleton-example', title: 'Skeleton', description: 'Loading placeholder primitives.', children: _jsx(ExampleTile, { title: 'Skeleton', code: codeSamples.skeleton, onOpen: onOpenCode, children: _jsxs(Stack, { g: 2, children: [_jsx(Skeleton, { h: 16, w: '80%' }), _jsx(Skeleton, { h: 16, w: '64%' }), _jsx(Skeleton, { h: 36 })] }) }) })] }));
9
+ return (_jsxs(_Fragment, { children: [_jsx(UiExampleSection, { id: "text", title: "Text", description: "Text and shared system props.", children: _jsx(ExampleTile, { title: "Text", code: codeSamples.text, onOpen: onOpenCode, children: _jsxs(Stack, { g: 3, children: [_jsxs(Stack, { g: 1, children: [_jsx(Text, { as: "h1", fs: "28px", fw: 780, lh: 1.1, children: "Operations review" }), _jsx(Text, { as: "h2", fs: "20px", fw: 720, lh: 1.2, children: "Review window and status" }), _jsx(Text, { tone: "muted", fs: "13px", lh: 1.5, children: "Compact operational text with muted metadata and predictable line height." })] }), _jsxs(Stack, { g: 1, children: [_jsx(Text, { fs: "15px", fw: 700, children: "Body strong text" }), _jsx(Text, { fs: "14px", lh: 1.55, children: "Body regular text for dense forms and tables." }), _jsx(Text, { fs: "12px", tone: "muted", lh: 1.4, children: "Caption text, helper text and quiet labels." })] }), _jsxs(Flex, { g: 2, wrap: true, children: [_jsx(Text, { tone: "primary", fw: 700, children: "Primary" }), _jsx(Text, { tone: "success", fw: 700, children: "Success" }), _jsx(Text, { tone: "warning", fw: 700, children: "Warning" }), _jsx(Text, { tone: "danger", fw: 700, children: "Danger" }), _jsx(Text, { tone: "info", fw: 700, children: "Info" })] }), _jsx(Box, { w: "100%", p: 2, r: 3, style: { background: 'var(--oui-pad-bg)' }, children: _jsx(Text, { display: "block", truncate: true, children: "This is a long single line value that truncates cleanly inside a constrained row." }) }), _jsxs(Flex, { g: 2, wrap: true, children: [_jsx(Badge, { children: "Neutral" }), _jsx(Badge, { tone: "primary", children: "Primary" }), _jsx(Badge, { tone: "success", children: "Success" }), _jsx(Badge, { tone: "warning", children: "Warning" }), _jsx(Badge, { tone: "danger", children: "Danger" }), _jsx(Badge, { tone: "info", children: "Info" })] })] }) }) }), _jsx(UiExampleSection, { id: "skeleton-example", title: "Skeleton", description: "Loading placeholder primitives.", children: _jsx(ExampleTile, { title: "Skeleton", code: codeSamples.skeleton, onOpen: onOpenCode, children: _jsxs(Stack, { g: 2, children: [_jsx(Skeleton, { h: 16, w: "80%" }), _jsx(Skeleton, { h: 16, w: "64%" }), _jsx(Skeleton, { h: 36 })] }) }) })] }));
10
10
  }
11
11
  export function LayoutSection({ onOpenCode }) {
12
12
  const [detailsOpen, setDetailsOpen] = useState(true);
13
- return (_jsxs(_Fragment, { children: [_jsx(UiExampleSection, { id: 'flex-example', title: 'Flex', description: 'Row and column alignment primitive.', children: _jsx(ExampleTile, { title: 'Flex', code: codeSamples.layoutFlex, onOpen: onOpenCode, children: _jsxs(Flex, { col: true, g: 3, children: [_jsxs(Flex, { row: true, g: 2, a: 'c', j: 'sb', wrap: true, children: [_jsxs(Flex, { row: true, g: 2, a: 'c', wrap: true, children: [_jsx(Badge, { tone: 'primary', children: "status" }), _jsx(Text, { fw: 700, children: "Task TASK-2048" })] }), _jsxs(Flex, { row: true, g: 1, a: 'c', children: [_jsx(Button, { size: 1, v: 'surface', children: "Cancel" }), _jsx(Button, { size: 1, children: "Apply" })] })] }), _jsx(Flex, { row: true, g: 2, wrap: true, children: ['Intake', 'Review', 'Complete'].map((item, index) => (_jsxs(Flex, { col: true, g: 1, p: 2, r: 3, flex: '1 1 150px', style: { background: 'var(--oui-gray-a3)' }, children: [_jsxs(Text, { fs: '12px', tone: 'muted', children: ["Step ", index + 1] }), _jsx(Text, { fw: 700, children: item })] }, item))) })] }) }) }), _jsx(UiExampleSection, { id: 'stack-example', title: 'Stack', description: 'Vertical spacing primitive.', children: _jsx(ExampleTile, { title: 'Stack', code: codeSamples.layoutStack, onOpen: onOpenCode, children: _jsx(Stack, { g: 2, children: [
14
- ['/gallery/cyberpunk-rain.webp', 'Created', 'Draft created from intake'],
15
- ['/gallery/hollywood-star.webp', 'Reserved', 'Capacity is reserved for review'],
13
+ return (_jsxs(_Fragment, { children: [_jsx(UiExampleSection, { id: "flex-example", title: "Flex", description: "Row and column alignment primitive.", children: _jsx(ExampleTile, { title: "Flex", code: codeSamples.layoutFlex, onOpen: onOpenCode, children: _jsxs(Flex, { col: true, g: 3, children: [_jsxs(Flex, { row: true, g: 2, a: "c", j: "sb", wrap: true, children: [_jsxs(Flex, { row: true, g: 2, a: "c", wrap: true, children: [_jsx(Badge, { tone: "primary", children: "status" }), _jsx(Text, { fw: 700, children: "Task TASK-2048" })] }), _jsxs(Flex, { row: true, g: 1, a: "c", children: [_jsx(Button, { size: 1, v: "surface", children: "Cancel" }), _jsx(Button, { size: 1, children: "Apply" })] })] }), _jsx(Flex, { row: true, g: 2, wrap: true, children: ['Intake', 'Review', 'Complete'].map((item, index) => (_jsxs(Flex, { col: true, g: 1, p: 2, r: 3, flex: "1 1 150px", style: { background: 'var(--oui-pad-bg)' }, children: [_jsxs(Text, { fs: "12px", tone: "muted", children: ["Step ", index + 1] }), _jsx(Text, { fw: 700, children: item })] }, item))) })] }) }) }), _jsx(UiExampleSection, { id: "stack-example", title: "Stack", description: "Vertical spacing primitive.", children: _jsx(ExampleTile, { title: "Stack", code: codeSamples.layoutStack, onOpen: onOpenCode, children: _jsx(Stack, { g: 2, children: [
14
+ [
15
+ '/gallery/cyberpunk-rain.webp',
16
+ 'Created',
17
+ 'Draft created from intake',
18
+ ],
19
+ [
20
+ '/gallery/hollywood-star.webp',
21
+ 'Reserved',
22
+ 'Capacity is reserved for review',
23
+ ],
16
24
  ['/gallery/ice-cave.webp', 'Scheduled', 'Review window is confirmed'],
17
- ].map(([image, title, description]) => (_jsxs(Flex, { row: true, g: 2, a: 'c', w: 'min(100%, 360px)', p: '8px 10px', r: 2, style: { background: 'var(--oui-gray-a3)' }, children: [_jsx("img", { src: image, alt: '', style: {
25
+ ].map(([image, title, description]) => (_jsxs(Flex, { row: true, g: 2, a: "c", w: "min(100%, 360px)", p: "8px 10px", r: 2, style: { background: 'var(--oui-pad-bg)' }, children: [_jsx("img", { src: image, alt: "", style: {
18
26
  width: 34,
19
27
  height: 34,
20
28
  flex: '0 0 34px',
21
29
  borderRadius: 999,
22
30
  objectFit: 'cover',
23
- } }), _jsxs(Stack, { g: 0, children: [_jsx(Text, { fs: '13px', fw: 700, children: title }), _jsx(Text, { fs: '12px', tone: 'muted', lh: 1.45, children: description })] })] }, title))) }) }) }), _jsx(UiExampleSection, { id: 'collapse-example', title: 'Collapse', description: 'Expandable content primitive.', children: _jsx(ExampleTile, { title: 'Collapse', code: codeSamples.layoutCollapse, onOpen: onOpenCode, children: _jsxs(Stack, { g: 2, children: [_jsxs(Flex, { row: true, g: 2, a: 'c', j: 'sb', children: [_jsx(Text, { fw: 700, children: "Item details" }), _jsx(Button, { size: 1, v: 'surface', onClick: () => setDetailsOpen((open) => !open), children: detailsOpen ? 'Hide' : 'Show' })] }), _jsx(Collapse, { open: detailsOpen, children: _jsxs(Stack, { g: 2, p: 2, r: 3, style: { background: 'var(--oui-gray-a3)' }, children: [_jsxs(Flex, { row: true, g: 2, j: 'sb', children: [_jsx(Text, { tone: 'muted', children: "Owner" }), _jsx(Text, { fw: 700, children: "Core team" })] }), _jsxs(Flex, { row: true, g: 2, j: 'sb', children: [_jsx(Text, { tone: 'muted', children: "Window" }), _jsx(Text, { fw: 700, children: "09:00 - 12:00" })] }), _jsxs(Flex, { row: true, g: 2, j: 'sb', children: [_jsx(Text, { tone: 'muted', children: "Priority" }), _jsx(Badge, { tone: 'warning', children: "High" })] })] }) })] }) }) }), _jsx(UiExampleSection, { id: 'surfaces-example', title: 'Surfaces', description: 'Card, Section, Separator and Alert primitives.', children: _jsx(ExampleTile, { title: 'Surfaces', code: codeSamples.surfaces, onOpen: onOpenCode, children: _jsxs(Section, { g: 3, children: [_jsxs(Grid, { columns: 'repeat(auto-fit, minmax(min(100%, 180px), 1fr))', g: 2, children: [_jsx(Card, { v: 'surface', interactive: true, children: _jsxs(Stack, { g: 1, children: [_jsx(Text, { fw: 760, children: "Surface card" }), _jsx(Text, { fs: '12px', tone: 'muted', children: "Default operational surface." })] }) }), _jsx(Card, { v: 'soft', children: _jsxs(Stack, { g: 1, children: [_jsx(Text, { fw: 760, children: "Soft card" }), _jsx(Text, { fs: '12px', tone: 'muted', children: "Quiet grouped content." })] }) }), _jsx(Card, { v: 'classic', children: _jsxs(Stack, { g: 1, children: [_jsx(Text, { fw: 760, children: "Classic card" }), _jsx(Text, { fs: '12px', tone: 'muted', children: "More explicit border and background." })] }) })] }), _jsx(Separator, {}), _jsx(Alert, { title: 'Inventory sync delayed', action: _jsx(Button, { size: 1, v: 'surface', children: "Retry" }), children: "Check this status before creating the next shipment." })] }) }) }), _jsx(UiExampleSection, { id: 'grid-example', title: 'Grid', description: 'Grid layout primitive.', children: _jsx(ExampleTile, { title: 'Grid', code: codeSamples.layoutGrid, onOpen: onOpenCode, children: _jsx(Grid, { columns: 'repeat(3, minmax(0, 1fr))', g: 2, children: ['A', 'B', 'C', 'D', 'E', 'F'].map((item) => (_jsx(Box, { p: 2, r: 3, ta: 'center', style: { background: 'var(--oui-gray-a3)' }, children: _jsx(Text, { fs: '13px', fw: 700, children: item }) }, item))) }) }) }), _jsx(UiExampleSection, { id: 'highlight-primitives-example', title: 'Highlight primitives', description: 'Standalone edge mask primitives.', children: _jsx(ExampleTile, { title: 'Highlight primitives', code: codeSamples.highlights, onOpen: onOpenCode, children: _jsxs("div", { className: 'oui-highlight-demo-surface', style: { background: 'var(--oui-section-nested-solid-bg)' }, children: [_jsx(TopHighlight, { h: 32, color: 'var(--oui-section-nested-solid-bg)', position: 'absolute' }), _jsx(Text, { fs: '13px', fw: 700, children: "Top and bottom highlights" }), _jsx(Text, { fs: '12px', tone: 'muted', children: "One surface shows both edge masks at the same time." }), _jsx(BottomHighlight, { h: 32, color: 'var(--oui-section-nested-solid-bg)', position: 'absolute' })] }) }) }), _jsx(UiExampleSection, { id: 'scroll-area-example', title: 'ScrollArea', description: 'Themed scroll container with optional edge highlights.', children: _jsx(ExampleTile, { title: 'ScrollArea', code: codeSamples.scrollArea, onOpen: onOpenCode, children: _jsxs(Stack, { g: 2, children: [_jsx(ScrollArea, { h: 116, pr: 1, children: _jsx(Stack, { g: 1, children: Array.from({ length: 10 }, (_, index) => (_jsx(Box, { p: 2, r: 3, style: { background: 'var(--oui-gray-a3)' }, children: _jsxs(Text, { fs: '13px', children: ["Scroll row ", index + 1] }) }, index))) }) }), _jsx(ScrollArea, { h: 112, pr: 1, highlights: true, highlightColor: 'var(--oui-section-nested-solid-bg)', highlightTop: { h: 28, mode: 'static', maxOpacity: 0.96 }, highlightBottom: { h: 28, mode: 'static', maxOpacity: 0.96 }, children: _jsx(Stack, { g: 1, children: Array.from({ length: 8 }, (_, index) => (_jsx(Box, { p: 2, r: 3, style: { background: 'var(--oui-gray-a3)' }, children: _jsxs(Text, { fs: '13px', children: ["Both edges row ", index + 1] }) }, index))) }) }), _jsx(ScrollArea, { h: 176, pr: 1, highlights: true, highlightColor: 'var(--oui-section-nested-solid-bg)', highlightTop: {
31
+ } }), _jsxs(Stack, { g: 0, children: [_jsx(Text, { fs: "13px", fw: 700, children: title }), _jsx(Text, { fs: "12px", tone: "muted", lh: 1.45, children: description })] })] }, title))) }) }) }), _jsx(UiExampleSection, { id: "collapse-example", title: "Collapse", description: "Expandable content primitive.", children: _jsx(ExampleTile, { title: "Collapse", code: codeSamples.layoutCollapse, onOpen: onOpenCode, children: _jsxs(Stack, { g: 2, children: [_jsxs(Flex, { row: true, g: 2, a: "c", j: "sb", children: [_jsx(Text, { fw: 700, children: "Item details" }), _jsx(Button, { size: 1, v: "surface", onClick: () => setDetailsOpen((open) => !open), children: detailsOpen ? 'Hide' : 'Show' })] }), _jsx(Collapse, { open: detailsOpen, children: _jsxs(Stack, { g: 2, p: 2, r: 3, style: { background: 'var(--oui-pad-bg)' }, children: [_jsxs(Flex, { row: true, g: 2, j: "sb", children: [_jsx(Text, { tone: "muted", children: "Owner" }), _jsx(Text, { fw: 700, children: "Core team" })] }), _jsxs(Flex, { row: true, g: 2, j: "sb", children: [_jsx(Text, { tone: "muted", children: "Window" }), _jsx(Text, { fw: 700, children: "09:00 - 12:00" })] }), _jsxs(Flex, { row: true, g: 2, j: "sb", children: [_jsx(Text, { tone: "muted", children: "Priority" }), _jsx(Badge, { tone: "warning", children: "High" })] })] }) })] }) }) }), _jsx(UiExampleSection, { id: "surfaces-example", title: "Surfaces", description: "Card, Section, Separator and Alert primitives.", children: _jsx(ExampleTile, { title: "Surfaces", code: codeSamples.surfaces, onOpen: onOpenCode, children: _jsxs(Section, { g: 3, children: [_jsxs(Grid, { columns: "repeat(auto-fit, minmax(min(100%, 180px), 1fr))", g: 2, children: [_jsx(Card, { v: "surface", interactive: true, children: _jsxs(Stack, { g: 1, children: [_jsx(Text, { fw: 760, children: "Surface card" }), _jsx(Text, { fs: "12px", tone: "muted", children: "Default operational surface." })] }) }), _jsx(Card, { v: "soft", children: _jsxs(Stack, { g: 1, children: [_jsx(Text, { fw: 760, children: "Soft card" }), _jsx(Text, { fs: "12px", tone: "muted", children: "Quiet grouped content." })] }) }), _jsx(Card, { v: "classic", children: _jsxs(Stack, { g: 1, children: [_jsx(Text, { fw: 760, children: "Classic card" }), _jsx(Text, { fs: "12px", tone: "muted", children: "More explicit border and background." })] }) })] }), _jsx(Separator, {}), _jsx(Alert, { title: "Inventory sync delayed", action: _jsx(Button, { size: 1, v: "surface", children: "Retry" }), children: "Check this status before creating the next shipment." })] }) }) }), _jsx(UiExampleSection, { id: "grid-example", title: "Grid", description: "Grid layout primitive.", children: _jsx(ExampleTile, { title: "Grid", code: codeSamples.layoutGrid, onOpen: onOpenCode, children: _jsx(Grid, { columns: "repeat(3, minmax(0, 1fr))", g: 2, children: ['A', 'B', 'C', 'D', 'E', 'F'].map((item) => (_jsx(Box, { p: 2, r: 3, ta: "center", style: { background: 'var(--oui-pad-bg)' }, children: _jsx(Text, { fs: "13px", fw: 700, children: item }) }, item))) }) }) }), _jsx(UiExampleSection, { id: "highlight-primitives-example", title: "Highlight primitives", description: "Standalone edge mask primitives.", children: _jsx(ExampleTile, { title: "Highlight primitives", code: codeSamples.highlights, onOpen: onOpenCode, children: _jsxs("div", { className: "oui-highlight-demo-surface", style: { background: 'var(--oui-section-nested-solid-bg)' }, children: [_jsx(TopHighlight, { h: 32, color: "var(--oui-section-nested-solid-bg)", position: "absolute" }), _jsx(Text, { fs: "13px", fw: 700, children: "Top and bottom highlights" }), _jsx(Text, { fs: "12px", tone: "muted", children: "One surface shows both edge masks at the same time." }), _jsx(BottomHighlight, { h: 32, color: "var(--oui-section-nested-solid-bg)", position: "absolute" })] }) }) }), _jsx(UiExampleSection, { id: "scroll-area-example", title: "ScrollArea", description: "Themed scroll container with optional edge highlights.", children: _jsx(ExampleTile, { title: "ScrollArea", code: codeSamples.scrollArea, onOpen: onOpenCode, children: _jsxs(Stack, { g: 2, children: [_jsx(ScrollArea, { h: 116, pr: 1, children: _jsx(Stack, { g: 1, children: Array.from({ length: 10 }, (_, index) => (_jsx(Box, { p: 2, r: 3, style: { background: 'var(--oui-pad-bg)' }, children: _jsxs(Text, { fs: "13px", children: ["Scroll row ", index + 1] }) }, index))) }) }), _jsx(ScrollArea, { h: 112, pr: 1, highlights: true, highlightColor: "var(--oui-section-nested-solid-bg)", highlightTop: { h: 28, mode: 'static', maxOpacity: 0.96 }, highlightBottom: { h: 28, mode: 'static', maxOpacity: 0.96 }, children: _jsx(Stack, { g: 1, children: Array.from({ length: 8 }, (_, index) => (_jsx(Box, { p: 2, r: 3, style: { background: 'var(--oui-pad-bg)' }, children: _jsxs(Text, { fs: "13px", children: ["Both edges row ", index + 1] }) }, index))) }) }), _jsx(ScrollArea, { h: 176, pr: 1, highlights: true, highlightColor: "var(--oui-section-nested-solid-bg)", highlightTop: {
24
32
  h: 42,
25
33
  mode: 'scroll',
26
34
  start: 50,
@@ -41,5 +49,5 @@ export function LayoutSection({ onOpenCode }) {
41
49
  ['Delivered', 'The gradient uses the solid surface color.'],
42
50
  ['Checked', 'Content remains readable under the fade.'],
43
51
  ['Archived', 'The bottom edge disappears at the end.'],
44
- ].map(([title, description], index) => (_jsxs(Flex, { row: true, g: 2, p: 2, r: 3, a: 'c', style: { background: 'var(--oui-gray-a3)' }, children: [_jsx(Badge, { tone: index < 3 ? 'primary' : 'info', children: index + 1 }), _jsxs(Stack, { g: 0, children: [_jsx(Text, { fs: '13px', fw: 700, children: title }), _jsx(Text, { fs: '12px', tone: 'muted', children: description })] })] }, title))) }) })] }) }) }), _jsx(UiExampleSection, { id: 'system-radius-example', title: 'System radius', description: 'Radius system prop scale.', children: _jsxs(ExampleTile, { title: 'System radius', code: codeSamples.systemRadius, onOpen: onOpenCode, children: [_jsx(Flex, { g: 2, a: 'c', wrap: true, children: [0, 2, 4, 6, 7].map((radius) => (_jsx(Box, { size: 32, r: radius, display: 'flex', a: 'c', j: 'c', style: { background: 'var(--oui-gray-a3)' }, children: _jsx(Text, { fs: '12px', fw: 700, children: radius }) }, radius))) }), _jsx(Button, { mt: 2, v: 'pad', r: 7, children: "Button r=7" })] }) })] }));
52
+ ].map(([title, description], index) => (_jsxs(Flex, { row: true, g: 2, p: 2, r: 3, a: "c", style: { background: 'var(--oui-pad-bg)' }, children: [_jsx(Badge, { tone: index < 3 ? 'primary' : 'info', children: index + 1 }), _jsxs(Stack, { g: 0, children: [_jsx(Text, { fs: "13px", fw: 700, children: title }), _jsx(Text, { fs: "12px", tone: "muted", children: description })] })] }, title))) }) })] }) }) }), _jsx(UiExampleSection, { id: "system-radius-example", title: "System radius", description: "Radius system prop scale.", children: _jsxs(ExampleTile, { title: "System radius", code: codeSamples.systemRadius, onOpen: onOpenCode, children: [_jsx(Flex, { g: 2, a: "c", wrap: true, children: [0, 2, 4, 6, 7].map((radius) => (_jsx(Box, { size: 32, r: radius, display: "flex", a: "c", j: "c", style: { background: 'var(--oui-pad-bg)' }, children: _jsx(Text, { fs: "12px", fw: 700, children: radius }) }, radius))) }), _jsx(Button, { mt: 2, v: "pad", r: 7, children: "Button r=7" })] }) })] }));
45
53
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ExampleDataSection.d.ts","sourceRoot":"","sources":["../../src/example/ExampleDataSection.tsx"],"names":[],"mappings":"AAkBA,OAAO,EAAc,KAAK,WAAW,EAAC,MAAM,eAAe,CAAC;AAG5D,KAAK,gBAAgB,GAAG;IACpB,UAAU,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,CAAC;CAC9C,CAAC;AA2DF,wBAAgB,WAAW,CAAC,EAAC,UAAU,EAAC,EAAE,gBAAgB,2CA0KzD"}
1
+ {"version":3,"file":"ExampleDataSection.d.ts","sourceRoot":"","sources":["../../src/example/ExampleDataSection.tsx"],"names":[],"mappings":"AAkBA,OAAO,EAAe,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AAG9D,KAAK,gBAAgB,GAAG;IACpB,UAAU,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,CAAC;CAC9C,CAAC;AA2DF,wBAAgB,WAAW,CAAC,EAAE,UAAU,EAAE,EAAE,gBAAgB,2CAwK3D"}
@@ -64,11 +64,11 @@ export function DataSection({ onOpenCode }) {
64
64
  const [columnWidths, setColumnWidths] = useState({});
65
65
  const [page, setPage] = useState(2);
66
66
  const filteredRows = useMemo(() => sortRows(rows.filter((row) => rowMatches(row, query)), sort), [query, sort]);
67
- return (_jsxs(_Fragment, { children: [_jsx(UiExampleSection, { id: 'data-table-example', title: 'DataTable', description: 'Reusable DataTable without CRUD or page-level entity logic.', children: _jsx(ExampleTile, { className: 'oui-ui-table-tile', title: 'DataTable', code: codeSamples.data, onOpen: onOpenCode, children: _jsxs("div", { className: 'oui-ui-table-demo', children: [_jsx(DataTable, { toolbar: (_jsxs(_Fragment, { children: [_jsx(TextField, { value: query, placeholder: 'Filter rows', clearable: true, onChange: (event) => setQuery(event.target.value), onClear: () => setQuery('') }), _jsx(Button, { size: 3, v: 'surface', onClick: () => {
67
+ return (_jsxs(_Fragment, { children: [_jsx(UiExampleSection, { id: "data-table-example", title: "DataTable", description: "Reusable DataTable without CRUD or page-level entity logic.", children: _jsx(ExampleTile, { className: "oui-ui-table-tile", title: "DataTable", code: codeSamples.data, onOpen: onOpenCode, children: _jsxs("div", { className: "oui-ui-table-demo", children: [_jsx(DataTable, { toolbar: _jsxs(_Fragment, { children: [_jsx(TextField, { value: query, placeholder: "Filter rows", clearable: true, onChange: (event) => setQuery(event.target.value), onClear: () => setQuery('') }), _jsx(Button, { size: 3, v: "surface", onClick: () => {
68
68
  setVisibleColumnKeys(defaultVisibleColumnKeys);
69
69
  setColumnOrder(defaultColumnOrder);
70
70
  setColumnWidths({});
71
- }, children: "Reset" })] })), rowKey: (row) => row.name, rows: filteredRows, columns: columns, sort: sort, onSortChange: (nextSort) => setSort(Array.isArray(nextSort) ? nextSort[0] ?? null : nextSort), selectable: true, selectedRowKeys: selectedRowKeys, onSelectedRowKeysChange: setSelectedRowKeys, total: rows.length, emptyText: 'No rows match the filter.', columnSettings: {
71
+ }, children: "Reset" })] }), rowKey: (row) => row.name, rows: filteredRows, columns: columns, sort: sort, onSortChange: (nextSort) => setSort(Array.isArray(nextSort) ? (nextSort[0] ?? null) : nextSort), selectable: true, selectedRowKeys: selectedRowKeys, onSelectedRowKeysChange: setSelectedRowKeys, total: rows.length, emptyText: "No rows match the filter.", columnSettings: {
72
72
  columns,
73
73
  visibleColumnKeys,
74
74
  onVisibleColumnKeysChange: setVisibleColumnKeys,
@@ -93,9 +93,9 @@ export function DataSection({ onOpenCode }) {
93
93
  tone: 'danger',
94
94
  onSelect: () => undefined,
95
95
  },
96
- ] }), _jsx("div", { className: 'oui-ui-table-variants', children: _jsxs("div", { className: 'oui-ui-table-variant', children: [_jsx(Text, { fs: '13px', fw: 760, children: "Plain table" }), _jsx(DataTable, { rowKey: (row) => row.name, rows: rows.slice(0, 4), columns: columns, sort: sort, onSortChange: (nextSort) => setSort(Array.isArray(nextSort)
97
- ? nextSort[0] ?? null
98
- : nextSort), total: rows.length, emptyText: 'No rows.' })] }) })] }) }) }), _jsx(UiExampleSection, { id: 'table-primitives-example', title: 'Table and pagination', description: 'Low-level Table primitive and page navigation.', children: _jsx(ExampleTile, { title: 'Table and pagination', code: codeSamples.tablePagination, onOpen: onOpenCode, children: _jsxs(Stack, { g: 3, children: [_jsxs(Table, { v: 'surface', w: '100%', children: [_jsx(Table.Header, { children: _jsxs(Table.Row, { children: [_jsx(Table.ColumnHeaderCell, { children: "Document" }), _jsx(Table.ColumnHeaderCell, { children: "Status" }), _jsx(Table.ColumnHeaderCell, { align: 'right', children: "Qty" })] }) }), _jsx(Table.Body, { children: rows.slice(0, 3).map((row) => (_jsxs(Table.Row, { children: [_jsx(Table.RowHeaderCell, { children: row.name }), _jsx(Table.Cell, { children: _jsx(Badge, { tone: statusTone(row.status), children: row.status }) }), _jsx(Table.Cell, { align: 'right', children: row.quantity })] }, row.name))) })] }), _jsxs(Flex, { j: 'sb', a: 'c', wrap: true, g: 2, children: [_jsx(Text, { fs: '13px', tone: 'muted', children: "Showing 25 items per page" }), _jsx(Pagination, { page: page, pageCount: 4, onPageChange: setPage })] })] }) }) })] }));
96
+ ] }), _jsx("div", { className: "oui-ui-table-variants", children: _jsxs("div", { className: "oui-ui-table-variant", children: [_jsx(Text, { fs: "13px", fw: 760, children: "Plain table" }), _jsx(DataTable, { rowKey: (row) => row.name, rows: rows.slice(0, 4), columns: columns, sort: sort, onSortChange: (nextSort) => setSort(Array.isArray(nextSort)
97
+ ? (nextSort[0] ?? null)
98
+ : nextSort), total: rows.length, emptyText: "No rows." })] }) })] }) }) }), _jsx(UiExampleSection, { id: "table-primitives-example", title: "Table and pagination", description: "Low-level Table primitive and page navigation.", children: _jsx(ExampleTile, { title: "Table and pagination", code: codeSamples.tablePagination, onOpen: onOpenCode, children: _jsxs(Stack, { g: 3, children: [_jsxs(Table, { v: "surface", w: "100%", children: [_jsx(Table.Header, { children: _jsxs(Table.Row, { children: [_jsx(Table.ColumnHeaderCell, { children: "Document" }), _jsx(Table.ColumnHeaderCell, { children: "Status" }), _jsx(Table.ColumnHeaderCell, { align: "right", children: "Qty" })] }) }), _jsx(Table.Body, { children: rows.slice(0, 3).map((row) => (_jsxs(Table.Row, { children: [_jsx(Table.RowHeaderCell, { children: row.name }), _jsx(Table.Cell, { children: _jsx(Badge, { tone: statusTone(row.status), children: row.status }) }), _jsx(Table.Cell, { align: "right", children: row.quantity })] }, row.name))) })] }), _jsxs(Flex, { j: "sb", a: "c", wrap: true, g: 2, children: [_jsx(Text, { fs: "13px", tone: "muted", children: "Showing 25 items per page" }), _jsx(Pagination, { page: page, pageCount: 4, onPageChange: setPage })] })] }) }) })] }));
99
99
  }
100
100
  function sortRows(rows, sort) {
101
101
  if (!sort)
@@ -1 +1 @@
1
- {"version":3,"file":"ExampleFieldsSection.d.ts","sourceRoot":"","sources":["../../src/example/ExampleFieldsSection.tsx"],"names":[],"mappings":"AA4BA,OAAO,EAAc,KAAK,WAAW,EAAC,MAAM,eAAe,CAAC;AAG5D,KAAK,cAAc,GAAG;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,KAAK,kBAAkB,GAAG;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,oBAAoB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,SAAS,EAAE,cAAc,CAAC;IAC1B,iBAAiB,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;IACnD,UAAU,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,CAAC;CAC9C,CAAC;AAqBF,wBAAgB,aAAa,CAAC,EAC1B,YAAY,EACZ,oBAAoB,EACpB,SAAS,EACT,iBAAiB,EACjB,SAAS,EACT,iBAAiB,EACjB,UAAU,GACb,EAAE,kBAAkB,2CA4SpB"}
1
+ {"version":3,"file":"ExampleFieldsSection.d.ts","sourceRoot":"","sources":["../../src/example/ExampleFieldsSection.tsx"],"names":[],"mappings":"AA4BA,OAAO,EAAe,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AAG9D,KAAK,cAAc,GAAG;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,KAAK,kBAAkB,GAAG;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,oBAAoB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,SAAS,EAAE,cAAc,CAAC;IAC1B,iBAAiB,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;IACnD,UAAU,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,CAAC;CAC9C,CAAC;AAqBF,wBAAgB,aAAa,CAAC,EAC1B,YAAY,EACZ,oBAAoB,EACpB,SAAS,EACT,iBAAiB,EACjB,SAAS,EACT,iBAAiB,EACjB,UAAU,GACb,EAAE,kBAAkB,2CA4RpB"}
@@ -33,26 +33,24 @@ export function FieldsSection({ stepperValue, onStepperValueChange, dateValue, o
33
33
  const selectedPaymentTerm = inlinePaymentTermOptions.find((item) => item.key === paymentTermKey);
34
34
  const selectedOwners = useMemo(() => inlineOwnerOptions.filter((item) => ownerKeys.includes(item.key)), [ownerKeys]);
35
35
  const toggleOwner = (key) => {
36
- setOwnerKeys((current) => current.includes(key)
37
- ? current.filter((item) => item !== key)
38
- : [...current, key]);
36
+ setOwnerKeys((current) => current.includes(key) ? current.filter((item) => item !== key) : [...current, key]);
39
37
  };
40
- return (_jsxs(_Fragment, { children: [_jsx(UiExampleSection, { id: 'text-fields-example', title: 'Text fields', description: 'TextField and TextArea inside Field.', children: _jsxs(ExampleTile, { title: 'Text fields', code: codeSamples.textFields, onOpen: onOpenCode, children: [_jsx(Field, { label: 'Search', helperText: 'Clearable field with left slot.', children: _jsxs(Flex, { g: 2, a: 'c', children: [_jsx(TextField, { size: 2, placeholder: 'Search item', clearable: true, leftSlot: _jsx(LuSearch, { size: 16 }) }), _jsx(Button, { size: 2, v: 'surface', children: "Search" })] }) }), _jsx(Field, { label: 'Comment', children: _jsx(TextArea, { rows: 4, placeholder: 'Internal note' }) })] }) }), _jsx(UiExampleSection, { id: 'grouped-fields-example', title: 'Grouped fields', description: 'Layout primitives group fields without owning form state.', children: _jsx(ExampleTile, { title: 'Grouped fields', code: codeSamples.groupedFields, onOpen: onOpenCode, children: _jsxs(Section, { g: 3, children: [_jsxs(Stack, { g: 1, children: [_jsx(Text, { fw: 760, children: "Request details" }), _jsx(Text, { fs: '12px', tone: 'muted', children: "Layout primitives group fields without owning state." })] }), _jsxs(Stack, { g: 3, children: [_jsxs(Grid, { columns: 'repeat(auto-fit, minmax(min(100%, 180px), 1fr))', g: 3, children: [_jsx(Field, { label: 'Source', required: true, error: 'Choose a source', children: _jsx(TextField, { placeholder: 'Search source', invalid: true }) }), _jsx(Field, { label: 'Contact', children: _jsx(TextField, { placeholder: 'Name or email' }) })] }), _jsx(Field, { label: 'Review note', helperText: 'Visible to operators.', children: _jsx(TextArea, { rows: 3, placeholder: 'Internal instructions' }) }), _jsxs(Flex, { g: 2, j: 'e', wrap: true, children: [_jsx(Button, { type: 'button', v: 'surface', children: "Cancel" }), _jsx(Button, { type: 'button', children: "Save request" })] })] })] }) }) }), _jsx(UiExampleSection, { id: 'inline-edit-example', title: 'Inline edit', description: 'Compact value displays for editable entity fields.', children: _jsx(ExampleTile, { title: 'Inline edit', code: codeSamples.inlineEdit, onOpen: onOpenCode, children: _jsxs(Stack, { g: 3, children: [_jsx(Field, { label: 'Single value', children: _jsx(InlineEditField, { label: selectedSupplier?.label ?? 'Choose supplier', meta: 'Supplier', onOpen: () => setSupplierOpen(true), action: (_jsx(Popover, { open: supplierOpen, onOpenChange: setSupplierOpen, trigger: (_jsx(IconButton, { size: 1, v: 'ghost', icon: _jsx(LuPencil, { size: 13 }), "aria-label": 'Edit supplier' })), className: 'oui-combobox-content oui-ui-inline-edit-popover', sideOffset: 4, children: _jsx(Listbox, { className: 'oui-combobox-options', items: inlineSupplierOptions.map((item) => ({
38
+ return (_jsxs(_Fragment, { children: [_jsx(UiExampleSection, { id: "text-fields-example", title: "Text fields", description: "TextField and TextArea inside Field.", children: _jsxs(ExampleTile, { title: "Text fields", code: codeSamples.textFields, onOpen: onOpenCode, children: [_jsx(Field, { label: "Search", helperText: "Clearable field with left slot.", children: _jsxs(Flex, { g: 2, a: "c", children: [_jsx(TextField, { size: 2, placeholder: "Search item", clearable: true, leftSlot: _jsx(LuSearch, { size: 16 }) }), _jsx(Button, { size: 2, v: "surface", children: "Search" })] }) }), _jsx(Field, { label: "Comment", children: _jsx(TextArea, { rows: 4, placeholder: "Internal note" }) })] }) }), _jsx(UiExampleSection, { id: "grouped-fields-example", title: "Grouped fields", description: "Layout primitives group fields without owning form state.", children: _jsx(ExampleTile, { title: "Grouped fields", code: codeSamples.groupedFields, onOpen: onOpenCode, children: _jsxs(Section, { g: 3, children: [_jsxs(Stack, { g: 1, children: [_jsx(Text, { fw: 760, children: "Request details" }), _jsx(Text, { fs: "12px", tone: "muted", children: "Layout primitives group fields without owning state." })] }), _jsxs(Stack, { g: 3, children: [_jsxs(Grid, { columns: "repeat(auto-fit, minmax(min(100%, 180px), 1fr))", g: 3, children: [_jsx(Field, { label: "Source", required: true, error: "Choose a source", children: _jsx(TextField, { placeholder: "Search source", invalid: true }) }), _jsx(Field, { label: "Contact", children: _jsx(TextField, { placeholder: "Name or email" }) })] }), _jsx(Field, { label: "Review note", helperText: "Visible to operators.", children: _jsx(TextArea, { rows: 3, placeholder: "Internal instructions" }) }), _jsxs(Flex, { g: 2, j: "e", wrap: true, children: [_jsx(Button, { type: "button", v: "surface", children: "Cancel" }), _jsx(Button, { type: "button", children: "Save request" })] })] })] }) }) }), _jsx(UiExampleSection, { id: "inline-edit-example", title: "Inline edit", description: "Compact value displays for editable entity fields.", children: _jsx(ExampleTile, { title: "Inline edit", code: codeSamples.inlineEdit, onOpen: onOpenCode, children: _jsxs(Stack, { g: 3, children: [_jsx(Field, { label: "Single value", children: _jsx(InlineEditField, { label: selectedSupplier?.label ?? 'Choose supplier', meta: "Supplier", onOpen: () => setSupplierOpen(true), action: _jsx(Popover, { open: supplierOpen, onOpenChange: setSupplierOpen, trigger: _jsx(IconButton, { size: 1, v: "ghost", icon: _jsx(LuPencil, { size: 13 }), "aria-label": "Edit supplier" }), className: "oui-combobox-content oui-ui-inline-edit-popover", sideOffset: 4, children: _jsx(Listbox, { className: "oui-combobox-options", items: inlineSupplierOptions.map((item) => ({
41
39
  value: item.key,
42
40
  label: item.label,
43
41
  })), value: supplierKey, onValueChange: (nextKey) => {
44
42
  setSupplierKey(nextKey);
45
43
  setSupplierOpen(false);
46
- } }) })), clearable: Boolean(selectedSupplier), onClear: () => setSupplierKey(null) }) }), _jsx(Field, { label: 'Single value without meta', children: _jsx(InlineEditField, { label: selectedPaymentTerm?.label ?? 'Choose payment terms', onOpen: () => setPaymentOpen(true), action: (_jsx(Popover, { open: paymentOpen, onOpenChange: setPaymentOpen, trigger: (_jsx(IconButton, { size: 1, v: 'ghost', icon: _jsx(LuPencil, { size: 13 }), "aria-label": 'Edit payment terms' })), className: 'oui-combobox-content oui-ui-inline-edit-popover', sideOffset: 4, children: _jsx(Listbox, { className: 'oui-combobox-options', items: inlinePaymentTermOptions.map((item) => ({
44
+ } }) }), clearable: Boolean(selectedSupplier), onClear: () => setSupplierKey(null) }) }), _jsx(Field, { label: "Single value without meta", children: _jsx(InlineEditField, { label: selectedPaymentTerm?.label ?? 'Choose payment terms', onOpen: () => setPaymentOpen(true), action: _jsx(Popover, { open: paymentOpen, onOpenChange: setPaymentOpen, trigger: _jsx(IconButton, { size: 1, v: "ghost", icon: _jsx(LuPencil, { size: 13 }), "aria-label": "Edit payment terms" }), className: "oui-combobox-content oui-ui-inline-edit-popover", sideOffset: 4, children: _jsx(Listbox, { className: "oui-combobox-options", items: inlinePaymentTermOptions.map((item) => ({
47
45
  value: item.key,
48
46
  label: item.label,
49
47
  })), value: paymentTermKey, onValueChange: (nextKey) => {
50
48
  setPaymentTermKey(nextKey);
51
49
  setPaymentOpen(false);
52
- } }) })), clearable: Boolean(selectedPaymentTerm), onClear: () => setPaymentTermKey(null) }) }), _jsx(Field, { label: 'Multiple values', children: _jsx(InlineEditMultiField, { onOpen: () => setOwnerOpen(true), action: (_jsx("span", { onClick: (event) => event.stopPropagation(), children: _jsx(Popover, { open: ownerOpen, onOpenChange: setOwnerOpen, trigger: (_jsx(IconButton, { size: 1, v: 'ghost', icon: _jsx(LuPencil, { size: 13 }), "aria-label": 'Edit owners' })), className: 'oui-combobox-content oui-ui-inline-edit-popover', sideOffset: 4, children: _jsx(Stack, { g: 1, p: 1, children: inlineOwnerOptions.map((item) => {
50
+ } }) }), clearable: Boolean(selectedPaymentTerm), onClear: () => setPaymentTermKey(null) }) }), _jsx(Field, { label: "Multiple values", children: _jsx(InlineEditMultiField, { onOpen: () => setOwnerOpen(true), action: _jsx("span", { onClick: (event) => event.stopPropagation(), children: _jsx(Popover, { open: ownerOpen, onOpenChange: setOwnerOpen, trigger: _jsx(IconButton, { size: 1, v: "ghost", icon: _jsx(LuPencil, { size: 13 }), "aria-label": "Edit owners" }), className: "oui-combobox-content oui-ui-inline-edit-popover", sideOffset: 4, children: _jsx(Stack, { g: 1, p: 1, children: inlineOwnerOptions.map((item) => {
53
51
  const selected = ownerKeys.includes(item.key);
54
- return (_jsxs("button", { type: 'button', className: 'oui-combobox-option oui-ui-inline-edit-option', "data-selected": selected ? 'true' : 'false', onClick: () => toggleOwner(item.key), children: [_jsx("span", { className: 'oui-multi-select-check', children: selected ? _jsx(LuCheck, { size: 13 }) : null }), _jsx("span", { className: 'oui-combobox-option-main', children: item.label })] }, item.key));
55
- }) }) }) })), col: true, empty: 'No owners selected', children: selectedOwners.length
56
- ? selectedOwners.map((item, index) => (_jsx(Badge, { tone: index === 0 ? 'info' : 'neutral', v: 'soft', children: item.label }, item.key)))
57
- : null }) }), _jsx(Field, { label: 'Pending update', children: _jsx(InlineEditField, { label: 'Payment terms', meta: 'Saving', busy: true }) })] }) }) }), _jsx(UiExampleSection, { id: 'number-date-fields-example', title: 'Number and date fields', description: 'StepperInput, NumberField and DatePicker.', children: _jsxs(ExampleTile, { title: 'Number and date fields', code: codeSamples.numberAndDateFields, onOpen: onOpenCode, children: [_jsx(Field, { label: 'Quantity', children: _jsx(StepperInput, { value: stepperValue, onChange: onStepperValueChange, min: 0, max: 200 }) }), _jsx(Field, { label: 'Price', children: _jsx(NumberField, { defaultValue: 1250, min: 0 }) }), _jsx(Field, { label: 'Date', children: _jsx(DatePicker, { value: dateValue, onValueChange: onDateValueChange }) })] }) }), _jsx(UiExampleSection, { id: 'date-range-example', title: 'Date range', description: 'DateRangePicker and preset helper.', children: _jsxs(ExampleTile, { title: 'Date range', code: codeSamples.dateRangeFields, onOpen: onOpenCode, children: [_jsx(Field, { label: 'Range', children: _jsx(DateRangePicker, { value: dateRange, onValueChange: onDateRangeChange }) }), _jsx(DateRangePresetPicker, { today: '2026-06-26', onValueChange: onDateRangeChange }), _jsx(Text, { fs: '12px', tone: 'muted', children: "Date inputs stay as controls. Form ownership belongs to the application." })] }) })] }));
52
+ return (_jsxs("button", { type: "button", className: "oui-combobox-option oui-ui-inline-edit-option", "data-selected": selected ? 'true' : 'false', onClick: () => toggleOwner(item.key), children: [_jsx("span", { className: "oui-multi-select-check", children: selected ? (_jsx(LuCheck, { size: 13 })) : null }), _jsx("span", { className: "oui-combobox-option-main", children: item.label })] }, item.key));
53
+ }) }) }) }), col: true, empty: "No owners selected", children: selectedOwners.length
54
+ ? selectedOwners.map((item, index) => (_jsx(Badge, { tone: index === 0 ? 'info' : 'neutral', v: "soft", children: item.label }, item.key)))
55
+ : null }) }), _jsx(Field, { label: "Pending update", children: _jsx(InlineEditField, { label: "Payment terms", meta: "Saving", busy: true }) })] }) }) }), _jsx(UiExampleSection, { id: "number-date-fields-example", title: "Number and date fields", description: "StepperInput, NumberField and DatePicker.", children: _jsxs(ExampleTile, { title: "Number and date fields", code: codeSamples.numberAndDateFields, onOpen: onOpenCode, children: [_jsx(Field, { label: "Quantity", children: _jsx(StepperInput, { value: stepperValue, onChange: onStepperValueChange, min: 0, max: 200 }) }), _jsx(Field, { label: "Price", children: _jsx(NumberField, { defaultValue: 1250, min: 0 }) }), _jsx(Field, { label: "Date", children: _jsx(DatePicker, { value: dateValue, onValueChange: onDateValueChange }) })] }) }), _jsx(UiExampleSection, { id: "date-range-example", title: "Date range", description: "DateRangePicker and preset helper.", children: _jsxs(ExampleTile, { title: "Date range", code: codeSamples.dateRangeFields, onOpen: onOpenCode, children: [_jsx(Field, { label: "Range", children: _jsx(DateRangePicker, { value: dateRange, onValueChange: onDateRangeChange }) }), _jsx(DateRangePresetPicker, { today: "2026-06-26", onValueChange: onDateRangeChange }), _jsx(Text, { fs: "12px", tone: "muted", children: "Date inputs stay as controls. Form ownership belongs to the application." })] }) })] }));
58
56
  }
@@ -1,5 +1,5 @@
1
1
  import { type CodeExample } from './codeSamples';
2
- export declare function FoundationsSection({ onOpenCode, }: {
2
+ export declare function FoundationsSection({ onOpenCode }: {
3
3
  onOpenCode: (example: CodeExample) => void;
4
4
  }): import("react/jsx-runtime").JSX.Element;
5
5
  //# sourceMappingURL=ExampleFoundationsSection.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ExampleFoundationsSection.d.ts","sourceRoot":"","sources":["../../src/example/ExampleFoundationsSection.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAC,KAAK,WAAW,EAAC,MAAM,eAAe,CAAC;AAe/C,wBAAgB,kBAAkB,CAAC,EAC/B,UAAU,GACb,EAAE;IACC,UAAU,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,CAAC;CAC9C,2CAiCA"}
1
+ {"version":3,"file":"ExampleFoundationsSection.d.ts","sourceRoot":"","sources":["../../src/example/ExampleFoundationsSection.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AAejD,wBAAgB,kBAAkB,CAAC,EAAE,UAAU,EAAE,EAAE;IAAE,UAAU,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,CAAA;CAAE,2CAiChG"}
@@ -9,17 +9,17 @@ const providerSample = {
9
9
  code: `import {OrcestrUiProvider} from '@orcestr/ui';
10
10
 
11
11
  <OrcestrUiProvider
12
- surface='operations'
12
+ surface='deliveries'
13
13
  locale='ru'
14
14
  >
15
15
  <App />
16
16
  </OrcestrUiProvider>`,
17
17
  };
18
- export function FoundationsSection({ onOpenCode, }) {
19
- return (_jsx(UiExampleSection, { id: 'foundations', title: '\u041A\u043E\u043D\u0442\u0440\u0430\u043A\u0442\u044B \u0431\u0438\u0431\u043B\u0438\u043E\u0442\u0435\u043A\u0438', description: '\u0411\u0430\u0437\u043E\u0432\u044B\u0435 \u043F\u0440\u0430\u0432\u0438\u043B\u0430 \u043F\u043E\u0434\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u044F Orcestr UI: provider, \u043F\u0443\u0431\u043B\u0438\u0447\u043D\u044B\u0439 API, \u0442\u043E\u043A\u0435\u043D\u044B \u0438 \u043F\u0440\u043E\u0432\u0435\u0440\u043A\u0438.', children: _jsx(Stack, { g: 3, children: _jsx(ExampleTile, { id: 'provider-contract-example', title: 'OrcestrUiProvider', code: providerSample.code, onOpen: onOpenCode, children: _jsx("div", { className: 'oui-ui-contract-grid', children: [
18
+ export function FoundationsSection({ onOpenCode }) {
19
+ return (_jsx(UiExampleSection, { id: "foundations", title: "\u041A\u043E\u043D\u0442\u0440\u0430\u043A\u0442\u044B \u0431\u0438\u0431\u043B\u0438\u043E\u0442\u0435\u043A\u0438", description: "\u0411\u0430\u0437\u043E\u0432\u044B\u0435 \u043F\u0440\u0430\u0432\u0438\u043B\u0430 \u043F\u043E\u0434\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u044F Orcestr UI: provider, \u043F\u0443\u0431\u043B\u0438\u0447\u043D\u044B\u0439 API, \u0442\u043E\u043A\u0435\u043D\u044B \u0438 \u043F\u0440\u043E\u0432\u0435\u0440\u043A\u0438.", children: _jsx(Stack, { g: 3, children: _jsx(ExampleTile, { id: "provider-contract-example", title: "OrcestrUiProvider", code: providerSample.code, onOpen: onOpenCode, children: _jsx("div", { className: "oui-ui-contract-grid", children: [
20
20
  ['Provider', 'theme, locale, portal, overlays, toast'],
21
21
  ['Публичный API', 'size, tone, v, disabled, loading, invalid, testId'],
22
22
  ['Стили', 'только oui-* классы внутри @orcestr/ui/styles.css'],
23
23
  ['Проверки', 'tsc, contract tests, diff check, /ui smoke'],
24
- ].map(([title, description]) => (_jsxs("div", { className: 'oui-ui-contract-item', children: [_jsx(Badge, { tone: 'primary', children: title }), _jsx(Text, { fs: '12px', tone: 'muted', children: description })] }, title))) }) }) }) }));
24
+ ].map(([title, description]) => (_jsxs("div", { className: "oui-ui-contract-item", children: [_jsx(Badge, { tone: "primary", children: title }), _jsx(Text, { fs: "12px", tone: "muted", children: description })] }, title))) }) }) }) }));
25
25
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ExampleOverlays.d.ts","sourceRoot":"","sources":["../../src/example/ExampleOverlays.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAC,KAAK,eAAe,EAAC,MAAM,IAAI,CAAC;AAExC,KAAK,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAC;AAC/C,KAAK,OAAO,GAAG,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;AAuCvC,KAAK,oBAAoB,GAAG;IACxB,MAAM,EAAE,eAAe,CAAC;IACxB,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,OAAO,CAAC;IACtB,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,OAAO,CAAC;IACvB,aAAa,EAAE,OAAO,CAAC;IACvB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,cAAc,EAAE,OAAO,CAAC;IACxB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,aAAa,EAAE,OAAO,CAAC;IACvB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,aAAa,EAAE,OAAO,CAAC;IACvB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,aAAa,EAAE,OAAO,CAAC;IACvB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,aAAa,EAAE,OAAO,CAAC;IACvB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,eAAe,EAAE,OAAO,CAAC;IACzB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,WAAW,EAAE,OAAO,CAAC;IACrB,cAAc,EAAE,OAAO,CAAC;IACxB,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,SAAS,KAAK,IAAI,CAAC;CACtD,CAAC;AAEF,wBAAgB,eAAe,CAAC,EAC5B,MAAM,EACN,SAAS,EACT,YAAY,EACZ,UAAU,EACV,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,kBAAkB,EAClB,WAAW,EACX,cAAc,EACd,OAAO,GACV,EAAE,oBAAoB,2CAgOtB"}
1
+ {"version":3,"file":"ExampleOverlays.d.ts","sourceRoot":"","sources":["../../src/example/ExampleOverlays.tsx"],"names":[],"mappings":"AAkBA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,IAAI,CAAC;AAE1C,KAAK,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAC;AAC/C,KAAK,OAAO,GAAG,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;AAqCvC,KAAK,oBAAoB,GAAG;IACxB,MAAM,EAAE,eAAe,CAAC;IACxB,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,OAAO,CAAC;IACtB,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,OAAO,CAAC;IACvB,aAAa,EAAE,OAAO,CAAC;IACvB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,cAAc,EAAE,OAAO,CAAC;IACxB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,aAAa,EAAE,OAAO,CAAC;IACvB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,aAAa,EAAE,OAAO,CAAC;IACvB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,aAAa,EAAE,OAAO,CAAC;IACvB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,aAAa,EAAE,OAAO,CAAC;IACvB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,eAAe,EAAE,OAAO,CAAC;IACzB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,WAAW,EAAE,OAAO,CAAC;IACrB,cAAc,EAAE,OAAO,CAAC;IACxB,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,SAAS,KAAK,IAAI,CAAC;CACtD,CAAC;AAEF,wBAAgB,eAAe,CAAC,EAC5B,MAAM,EACN,SAAS,EACT,YAAY,EACZ,UAAU,EACV,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,kBAAkB,EAClB,WAAW,EACX,cAAc,EACd,OAAO,GACV,EAAE,oBAAoB,2CA+OtB"}
@@ -2,16 +2,16 @@
2
2
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
3
  import {} from 'react';
4
4
  import { LuX } from 'react-icons/lu';
5
- import { Button, CommandPalette, Flex, Field, IconButton, Modal, Stack, Text, TextField } from '..';
5
+ import { Button, CommandPalette, Flex, Field, IconButton, Modal, Stack, Text, TextField, } from '..';
6
6
  import { getCommandItems } from './exampleData';
7
7
  import {} from '..';
8
8
  function ExampleModal({ title, description, footer, children, onOpenChange, ...props }) {
9
- return (_jsxs(Modal, { ...props, onOpenChange: onOpenChange, children: [_jsxs(Modal.Header, { children: [_jsxs("div", { className: 'oui-modal-title-wrap', children: [_jsx("h2", { className: 'oui-modal-title', children: title }), description ? (_jsx("p", { className: 'oui-modal-description', children: description })) : null] }), _jsx(IconButton, { v: 'ghost', icon: _jsx(LuX, { size: 18 }), "aria-label": 'Close', onClick: () => onOpenChange(false) })] }), _jsx(Modal.Body, { children: children }), footer ? _jsx(Modal.Footer, { children: footer }) : null] }));
9
+ return (_jsxs(Modal, { ...props, onOpenChange: onOpenChange, children: [_jsxs(Modal.Header, { children: [_jsxs("div", { className: "oui-modal-title-wrap", children: [_jsx("h2", { className: "oui-modal-title", children: title }), description ? _jsx("p", { className: "oui-modal-description", children: description }) : null] }), _jsx(IconButton, { v: "ghost", icon: _jsx(LuX, { size: 18 }), "aria-label": "Close", onClick: () => onOpenChange(false) })] }), _jsx(Modal.Body, { children: children }), footer ? _jsx(Modal.Footer, { children: footer }) : null] }));
10
10
  }
11
11
  export function ExampleOverlays({ locale, modalOpen, setModalOpen, nestedOpen, setNestedOpen, blurModalOpen, setBlurModalOpen, blurNestedOpen, setBlurNestedOpen, blurFinalOpen, setBlurFinalOpen, fastModalOpen, setFastModalOpen, slowModalOpen, setSlowModalOpen, riseModalOpen, setRiseModalOpen, dangerModalOpen, setDangerModalOpen, paletteOpen, setPaletteOpen, onToast, }) {
12
12
  const commandItems = getCommandItems(locale);
13
- return (_jsxs(_Fragment, { children: [_jsx(ExampleModal, { open: modalOpen, onOpenChange: setModalOpen, title: 'Custom modal', description: 'First modal layer with the default theme blur backdrop.', footer: _jsxs(Flex, { g: 2, j: 'e', w: '100%', children: [_jsx(Button, { v: 'surface', onClick: () => setModalOpen(false), children: "Close" }), _jsx(Button, { onClick: () => setNestedOpen(true), children: "Open nested" })] }), children: _jsxs(Stack, { g: 3, children: [_jsx(Text, { color: 'var(--oui-muted)', lh: 1.5, children: "Nested modals stack above the previous layer and keep independent smooth open and close animations." }), _jsx(Field, { label: 'Modal field', children: _jsx(TextField, { placeholder: 'Focus stays inside modal' }) })] }) }), _jsx(ExampleModal, { open: nestedOpen, onOpenChange: setNestedOpen, title: 'Nested modal', description: 'Second layer with the same default modal animation.', maxWidth: 440, children: _jsxs(Stack, { g: 3, children: [_jsx(Text, { color: 'var(--oui-muted)', lh: 1.5, children: "This checks layer indexes, focus trap and escape handling." }), _jsx(Button, { onClick: () => onToast('Nested modal action completed', 'success'), children: "Show toast" })] }) }), _jsx(ExampleModal, { open: blurModalOpen, onOpenChange: setBlurModalOpen, title: 'Blur modal', description: 'Default modal surface with pure backdrop blur and no overlay tint.', maxWidth: 560, overlayColor: 'transparent', overlayOpacity: 0, overlayBlur: 10, borderColor: 'color-mix(in srgb, var(--oui-primary-base) 34%, var(--oui-border))', radius: 10, shadow: '0 24px 90px rgb(0 0 0 / 44%)', footer: _jsxs(Flex, { g: 2, j: 'e', w: '100%', children: [_jsx(Button, { v: 'surface', onClick: () => setBlurModalOpen(false), children: "Close" }), _jsx(Button, { onClick: () => setBlurNestedOpen(true), children: "Open nested blur" })] }), children: _jsxs(Stack, { g: 3, children: [_jsx(Text, { color: 'var(--oui-muted)', lh: 1.5, children: "This variant checks a strong backdrop blur while the overlay tint stays fully transparent." }), _jsx(Field, { label: 'Reference', children: _jsx(TextField, { placeholder: 'ORD-2048' }) })] }) }), _jsx(ExampleModal, { open: blurNestedOpen, onOpenChange: setBlurNestedOpen, title: 'Nested blur modal', description: 'Second blur layer without overlay tint.', maxWidth: 500, overlayColor: 'transparent', overlayOpacity: 0, overlayBlur: 8, borderColor: 'color-mix(in srgb, var(--oui-primary-base) 38%, var(--oui-border))', radius: 10, footer: _jsxs(Flex, { g: 2, j: 'e', w: '100%', children: [_jsx(Button, { v: 'surface', onClick: () => setBlurNestedOpen(false), children: "Close" }), _jsx(Button, { onClick: () => setBlurFinalOpen(true), children: "Open final blur" })] }), children: _jsxs(Stack, { g: 3, children: [_jsx(Text, { color: 'var(--oui-muted)', lh: 1.5, children: "This layer keeps the backdrop blur transparent while stacking above the first blur modal." }), _jsx(TextField, { placeholder: 'Nested value' })] }) }), _jsx(ExampleModal, { open: blurFinalOpen, onOpenChange: setBlurFinalOpen, title: 'Final blur modal', description: 'Top blur layer. Toast must appear above this modal.', maxWidth: 440, overlayColor: 'transparent', overlayOpacity: 0, overlayBlur: 6, borderColor: 'color-mix(in srgb, var(--oui-primary-base) 42%, var(--oui-border))', radius: 10, children: _jsxs(Stack, { g: 3, children: [_jsx(Text, { color: 'var(--oui-muted)', lh: 1.5, children: "Use this modal to verify blur stacking and toast z-index." }), _jsx(Button, { onClick: () => onToast('Toast above nested blur modals', 'success'), children: "Show toast" })] }) }), _jsx(ExampleModal, { open: fastModalOpen, onOpenChange: setFastModalOpen, title: 'Fast modal', description: 'Short animationDuration passed directly to the modal.', maxWidth: 460, overlayColor: '#0b1020', overlayOpacity: 0.28, overlayBlur: 4, animationDuration: '160ms', children: _jsxs(Stack, { g: 3, children: [_jsx(Text, { color: 'var(--oui-muted)', lh: 1.5, children: "This variant opens and closes quickly while still animating the backdrop blur." }), _jsx(Button, { onClick: () => setFastModalOpen(false), children: "Close" })] }) }), _jsx(ExampleModal, { open: slowModalOpen, onOpenChange: setSlowModalOpen, title: 'Very slow modal', description: 'Long animationDuration for checking smooth blur ramp.', maxWidth: 520, overlayColor: 'transparent', overlayOpacity: 0, overlayBlur: 14, animationDuration: '1200ms', borderColor: 'color-mix(in srgb, var(--oui-primary-base) 42%, var(--oui-border))', radius: 10, children: _jsxs(Stack, { g: 3, children: [_jsx(Text, { color: 'var(--oui-muted)', lh: 1.5, children: "The backdrop blur should build up and fade out gradually during the whole animation." }), _jsx(Button, { onClick: () => setSlowModalOpen(false), children: "Close" })] }) }), _jsx(ExampleModal, { open: riseModalOpen, onOpenChange: setRiseModalOpen, title: 'Rise modal', description: 'Legacy rise animation kept as an explicit modal animation variant.', maxWidth: 480, overlayColor: '#0b1020', overlayOpacity: 0.28, overlayBlur: 4, animation: 'rise', children: _jsxs(Stack, { g: 3, children: [_jsx(Text, { color: 'var(--oui-muted)', lh: 1.5, children: "This keeps the previous small scale and vertical movement without content blur." }), _jsx(Button, { onClick: () => setRiseModalOpen(false), children: "Close" })] }) }), _jsx(ExampleModal, { open: dangerModalOpen, onOpenChange: setDangerModalOpen, title: 'Danger modal', description: 'Strong colored overlay, danger border and compact radius.', maxWidth: 500, overlayColor: '#3b0712', overlayOpacity: 0.48, overlayBlur: 3, borderColor: 'color-mix(in srgb, var(--oui-danger-base) 46%, var(--oui-border))', radius: 8, footer: _jsxs(Flex, { g: 2, j: 'e', w: '100%', children: [_jsx(Button, { v: 'surface', onClick: () => setDangerModalOpen(false), children: "Cancel" }), _jsx(Button, { tone: 'danger', onClick: () => {
13
+ return (_jsxs(_Fragment, { children: [_jsx(ExampleModal, { open: modalOpen, onOpenChange: setModalOpen, title: "Custom modal", description: "First modal layer with the default theme blur backdrop.", footer: _jsxs(Flex, { g: 2, j: "e", w: "100%", children: [_jsx(Button, { v: "surface", onClick: () => setModalOpen(false), children: "Close" }), _jsx(Button, { onClick: () => setNestedOpen(true), children: "Open nested" })] }), children: _jsxs(Stack, { g: 3, children: [_jsx(Text, { color: "var(--oui-muted)", lh: 1.5, children: "Nested modals stack above the previous layer and keep independent smooth open and close animations." }), _jsx(Field, { label: "Modal field", children: _jsx(TextField, { placeholder: "Focus stays inside modal" }) })] }) }), _jsx(ExampleModal, { open: nestedOpen, onOpenChange: setNestedOpen, title: "Nested modal", description: "Second layer with the same default modal animation.", maxWidth: 440, children: _jsxs(Stack, { g: 3, children: [_jsx(Text, { color: "var(--oui-muted)", lh: 1.5, children: "This checks layer indexes, focus trap and escape handling." }), _jsx(Button, { onClick: () => onToast('Nested modal action completed', 'success'), children: "Show toast" })] }) }), _jsx(ExampleModal, { open: blurModalOpen, onOpenChange: setBlurModalOpen, title: "Blur modal", description: "Default modal surface with pure backdrop blur and no overlay tint.", maxWidth: 560, overlayColor: "transparent", overlayOpacity: 0, overlayBlur: 10, borderColor: "color-mix(in srgb, var(--oui-primary-base) 34%, var(--oui-border))", radius: 10, shadow: "0 24px 90px rgb(0 0 0 / 44%)", footer: _jsxs(Flex, { g: 2, j: "e", w: "100%", children: [_jsx(Button, { v: "surface", onClick: () => setBlurModalOpen(false), children: "Close" }), _jsx(Button, { onClick: () => setBlurNestedOpen(true), children: "Open nested blur" })] }), children: _jsxs(Stack, { g: 3, children: [_jsx(Text, { color: "var(--oui-muted)", lh: 1.5, children: "This variant checks a strong backdrop blur while the overlay tint stays fully transparent." }), _jsx(Field, { label: "Reference", children: _jsx(TextField, { placeholder: "ORD-2048" }) })] }) }), _jsx(ExampleModal, { open: blurNestedOpen, onOpenChange: setBlurNestedOpen, title: "Nested blur modal", description: "Second blur layer without overlay tint.", maxWidth: 500, overlayColor: "transparent", overlayOpacity: 0, overlayBlur: 8, borderColor: "color-mix(in srgb, var(--oui-primary-base) 38%, var(--oui-border))", radius: 10, footer: _jsxs(Flex, { g: 2, j: "e", w: "100%", children: [_jsx(Button, { v: "surface", onClick: () => setBlurNestedOpen(false), children: "Close" }), _jsx(Button, { onClick: () => setBlurFinalOpen(true), children: "Open final blur" })] }), children: _jsxs(Stack, { g: 3, children: [_jsx(Text, { color: "var(--oui-muted)", lh: 1.5, children: "This layer keeps the backdrop blur transparent while stacking above the first blur modal." }), _jsx(TextField, { placeholder: "Nested value" })] }) }), _jsx(ExampleModal, { open: blurFinalOpen, onOpenChange: setBlurFinalOpen, title: "Final blur modal", description: "Top blur layer. Toast must appear above this modal.", maxWidth: 440, overlayColor: "transparent", overlayOpacity: 0, overlayBlur: 6, borderColor: "color-mix(in srgb, var(--oui-primary-base) 42%, var(--oui-border))", radius: 10, children: _jsxs(Stack, { g: 3, children: [_jsx(Text, { color: "var(--oui-muted)", lh: 1.5, children: "Use this modal to verify blur stacking and toast z-index." }), _jsx(Button, { onClick: () => onToast('Toast above nested blur modals', 'success'), children: "Show toast" })] }) }), _jsx(ExampleModal, { open: fastModalOpen, onOpenChange: setFastModalOpen, title: "Fast modal", description: "Short animationDuration passed directly to the modal.", maxWidth: 460, overlayColor: "#0b1020", overlayOpacity: 0.28, overlayBlur: 4, animationDuration: "160ms", children: _jsxs(Stack, { g: 3, children: [_jsx(Text, { color: "var(--oui-muted)", lh: 1.5, children: "This variant opens and closes quickly while still animating the backdrop blur." }), _jsx(Button, { onClick: () => setFastModalOpen(false), children: "Close" })] }) }), _jsx(ExampleModal, { open: slowModalOpen, onOpenChange: setSlowModalOpen, title: "Very slow modal", description: "Long animationDuration for checking smooth blur ramp.", maxWidth: 520, overlayColor: "transparent", overlayOpacity: 0, overlayBlur: 14, animationDuration: "1200ms", borderColor: "color-mix(in srgb, var(--oui-primary-base) 42%, var(--oui-border))", radius: 10, children: _jsxs(Stack, { g: 3, children: [_jsx(Text, { color: "var(--oui-muted)", lh: 1.5, children: "The backdrop blur should build up and fade out gradually during the whole animation." }), _jsx(Button, { onClick: () => setSlowModalOpen(false), children: "Close" })] }) }), _jsx(ExampleModal, { open: riseModalOpen, onOpenChange: setRiseModalOpen, title: "Rise modal", description: "Legacy rise animation kept as an explicit modal animation variant.", maxWidth: 480, overlayColor: "#0b1020", overlayOpacity: 0.28, overlayBlur: 4, animation: "rise", children: _jsxs(Stack, { g: 3, children: [_jsx(Text, { color: "var(--oui-muted)", lh: 1.5, children: "This keeps the previous small scale and vertical movement without content blur." }), _jsx(Button, { onClick: () => setRiseModalOpen(false), children: "Close" })] }) }), _jsx(ExampleModal, { open: dangerModalOpen, onOpenChange: setDangerModalOpen, title: "Danger modal", description: "Strong colored overlay, danger border and compact radius.", maxWidth: 500, overlayColor: "#3b0712", overlayOpacity: 0.48, overlayBlur: 3, borderColor: "color-mix(in srgb, var(--oui-danger-base) 46%, var(--oui-border))", radius: 8, footer: _jsxs(Flex, { g: 2, j: "e", w: "100%", children: [_jsx(Button, { v: "surface", onClick: () => setDangerModalOpen(false), children: "Cancel" }), _jsx(Button, { tone: "danger", onClick: () => {
14
14
  setDangerModalOpen(false);
15
15
  onToast('Danger action confirmed', 'danger');
16
- }, children: "Confirm" })] }), children: _jsxs(Stack, { g: 3, children: [_jsx(Text, { color: 'var(--oui-muted)', lh: 1.5, children: "This variant checks a colored backdrop without a hard flash on open or close." }), _jsx(TextField, { value: 'Archive selected record', readOnly: true })] }) }), _jsx(CommandPalette, { open: paletteOpen, onOpenChange: setPaletteOpen, items: commandItems, recentItems: commandItems.slice(1, 3), globalOpenEvents: ['orcestr:open-command-palette'], onSelect: (value) => onToast(`Command selected: ${value}`, 'info') })] }));
16
+ }, children: "Confirm" })] }), children: _jsxs(Stack, { g: 3, children: [_jsx(Text, { color: "var(--oui-muted)", lh: 1.5, children: "This variant checks a colored backdrop without a hard flash on open or close." }), _jsx(TextField, { value: "Archive selected record", readOnly: true })] }) }), _jsx(CommandPalette, { open: paletteOpen, onOpenChange: setPaletteOpen, items: commandItems, recentItems: commandItems.slice(1, 3), globalOpenEvents: ['orcestr:open-command-palette'], onSelect: (value) => onToast(`Command selected: ${value}`, 'info') })] }));
17
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ExampleOverlaysSection.d.ts","sourceRoot":"","sources":["../../src/example/ExampleOverlaysSection.tsx"],"names":[],"mappings":"AAmBA,OAAO,EAAc,KAAK,WAAW,EAAC,MAAM,eAAe,CAAC;AAG5D,KAAK,OAAO,GAAG,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;AAEvC,KAAK,oBAAoB,GAAG;IACxB,YAAY,EAAE,OAAO,CAAC;IACtB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,UAAU,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,CAAC;CAC9C,CAAC;AAuDF,wBAAgB,eAAe,CAAC,EAC5B,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,UAAU,GACb,EAAE,oBAAoB,2CAyRtB"}
1
+ {"version":3,"file":"ExampleOverlaysSection.d.ts","sourceRoot":"","sources":["../../src/example/ExampleOverlaysSection.tsx"],"names":[],"mappings":"AAmBA,OAAO,EAAe,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AAG9D,KAAK,OAAO,GAAG,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;AAEvC,KAAK,oBAAoB,GAAG;IACxB,YAAY,EAAE,OAAO,CAAC;IACtB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,UAAU,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,CAAC;CAC9C,CAAC;AAuDF,wBAAgB,eAAe,CAAC,EAC5B,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,UAAU,GACb,EAAE,oBAAoB,2CAyRtB"}
@@ -56,22 +56,22 @@ export function OverlaysSection({ setModalOpen, setBlurModalOpen, setFastModalOp
56
56
  const toast = useToast();
57
57
  const [dialogOpen, setDialogOpen] = useState(false);
58
58
  const [drawerOpen, setDrawerOpen] = useState(false);
59
- return (_jsxs(_Fragment, { children: [_jsx(UiExampleSection, { id: 'overlay-primitives-example', title: 'Overlay primitives', description: 'Popover, Tooltip and Modal entry points.', children: _jsxs(ExampleTile, { title: 'Popover, tooltip and modal', code: codeSamples.overlays, onOpen: onOpenCode, children: [_jsxs("div", { className: 'oui-ui-row', children: [_jsx(Popover, { trigger: _jsx(Button, { v: 'surface', rightIcon: _jsx(LuChevronDown, { size: 16 }), children: "Open popover" }), children: _jsxs(Stack, { g: 2, p: 1, children: [_jsx(Text, { fw: 700, children: "Popover content" }), _jsx(Text, { color: 'var(--oui-muted)', fs: '13px', children: "Shared positioning and presence." })] }) }), _jsx(Tooltip, { content: 'Tooltip uses the same floating layer', children: _jsx(Button, { v: 'outline', children: "Hover me" }) }), _jsx(Button, { v: 'surface', onClick: () => setDialogOpen(true), children: "Dialog" }), _jsx(Button, { v: 'surface', onClick: () => setDrawerOpen(true), children: "Drawer" })] }), _jsxs("div", { className: 'oui-ui-row', children: [_jsx(Button, { onClick: () => setModalOpen(true), children: "Default modal" }), _jsx(Button, { v: 'surface', onClick: () => setBlurModalOpen(true), children: "Blur modal" }), _jsx(Button, { v: 'outline', onClick: () => setFastModalOpen(true), children: "Fast modal" }), _jsx(Button, { v: 'outline', onClick: () => setRiseModalOpen(true), children: "Rise modal" }), _jsx(Button, { v: 'outline', onClick: () => setSlowModalOpen(true), children: "Very slow modal" }), _jsx(Button, { v: 'soft', tone: 'danger', onClick: () => setDangerModalOpen(true), children: "Danger modal" })] })] }) }), _jsx(Dialog.Root, { open: dialogOpen, onOpenChange: setDialogOpen, children: _jsx(Dialog.Content, { maxWidth: 460, children: _jsxs(Stack, { g: 3, children: [_jsxs(Stack, { g: 1, children: [_jsx(Dialog.Title, { children: "Dialog title" }), _jsx(Dialog.Description, { children: "Dialog keeps the Modal layer but owns accessible title and description." })] }), _jsxs(Flex, { g: 2, j: 'e', children: [_jsx(Dialog.Close, { children: _jsx(Button, { v: 'surface', children: "Cancel" }) }), _jsx(Button, { onClick: () => setDialogOpen(false), children: "Confirm" })] })] }) }) }), _jsx(Drawer, { open: drawerOpen, onOpenChange: setDrawerOpen, title: 'Drawer title', description: 'Drawer uses the same overlay stack and focus behavior.', footer: (_jsxs(Flex, { g: 2, j: 'e', children: [_jsx(Button, { v: 'surface', onClick: () => setDrawerOpen(false), children: "Close" }), _jsx(Button, { children: "Apply" })] })), children: _jsxs(Stack, { g: 2, children: [_jsx(Text, { tone: 'muted', fs: '13px', children: "Use Drawer for side panels and contextual forms." }), _jsx(Button, { v: 'soft', children: "Panel action" })] }) }), _jsx(UiExampleSection, { id: 'toast-example', title: 'Toast', description: 'Toast positions, actions, progress, dedupe and glass background.', children: _jsx(ExampleTile, { title: 'Toast', code: codeSamples.toast, onOpen: onOpenCode, children: _jsxs(Stack, { g: 2, children: [_jsxs("div", { className: 'oui-ui-row', children: [_jsx(Button, { v: 'soft', tone: 'success', onClick: () => toast.success({
59
+ return (_jsxs(_Fragment, { children: [_jsx(UiExampleSection, { id: "overlay-primitives-example", title: "Overlay primitives", description: "Popover, Tooltip and Modal entry points.", children: _jsxs(ExampleTile, { title: "Popover, tooltip and modal", code: codeSamples.overlays, onOpen: onOpenCode, children: [_jsxs("div", { className: "oui-ui-row", children: [_jsx(Popover, { trigger: _jsx(Button, { v: "surface", rightIcon: _jsx(LuChevronDown, { size: 16 }), children: "Open popover" }), children: _jsxs(Stack, { g: 2, p: 1, children: [_jsx(Text, { fw: 700, children: "Popover content" }), _jsx(Text, { color: "var(--oui-muted)", fs: "13px", children: "Shared positioning and presence." })] }) }), _jsx(Tooltip, { content: "Tooltip uses the same floating layer", children: _jsx(Button, { v: "outline", children: "Hover me" }) }), _jsx(Button, { v: "surface", onClick: () => setDialogOpen(true), children: "Dialog" }), _jsx(Button, { v: "surface", onClick: () => setDrawerOpen(true), children: "Drawer" })] }), _jsxs("div", { className: "oui-ui-row", children: [_jsx(Button, { onClick: () => setModalOpen(true), children: "Default modal" }), _jsx(Button, { v: "surface", onClick: () => setBlurModalOpen(true), children: "Blur modal" }), _jsx(Button, { v: "outline", onClick: () => setFastModalOpen(true), children: "Fast modal" }), _jsx(Button, { v: "outline", onClick: () => setRiseModalOpen(true), children: "Rise modal" }), _jsx(Button, { v: "outline", onClick: () => setSlowModalOpen(true), children: "Very slow modal" }), _jsx(Button, { v: "soft", tone: "danger", onClick: () => setDangerModalOpen(true), children: "Danger modal" })] })] }) }), _jsx(Dialog.Root, { open: dialogOpen, onOpenChange: setDialogOpen, children: _jsx(Dialog.Content, { maxWidth: 460, children: _jsxs(Stack, { g: 3, children: [_jsxs(Stack, { g: 1, children: [_jsx(Dialog.Title, { children: "Dialog title" }), _jsx(Dialog.Description, { children: "Dialog keeps the Modal layer but owns accessible title and description." })] }), _jsxs(Flex, { g: 2, j: "e", children: [_jsx(Dialog.Close, { children: _jsx(Button, { v: "surface", children: "Cancel" }) }), _jsx(Button, { onClick: () => setDialogOpen(false), children: "Confirm" })] })] }) }) }), _jsx(Drawer, { open: drawerOpen, onOpenChange: setDrawerOpen, title: "Drawer title", description: "Drawer uses the same overlay stack and focus behavior.", footer: _jsxs(Flex, { g: 2, j: "e", children: [_jsx(Button, { v: "surface", onClick: () => setDrawerOpen(false), children: "Close" }), _jsx(Button, { children: "Apply" })] }), children: _jsxs(Stack, { g: 2, children: [_jsx(Text, { tone: "muted", fs: "13px", children: "Use Drawer for side panels and contextual forms." }), _jsx(Button, { v: "soft", children: "Panel action" })] }) }), _jsx(UiExampleSection, { id: "toast-example", title: "Toast", description: "Toast positions, actions, progress, dedupe and glass background.", children: _jsx(ExampleTile, { title: "Toast", code: codeSamples.toast, onOpen: onOpenCode, children: _jsxs(Stack, { g: 2, children: [_jsxs("div", { className: "oui-ui-row", children: [_jsx(Button, { v: "soft", tone: "success", onClick: () => toast.success({
60
60
  title: 'Saved successfully',
61
61
  message: 'The settings are synced with the current theme.',
62
62
  position: 'bottom-right',
63
- }), children: "Success" }), _jsx(Button, { v: 'soft', tone: 'success', onClick: () => toast.success({
63
+ }), children: "Success" }), _jsx(Button, { v: "soft", tone: "success", onClick: () => toast.success({
64
64
  title: 'Endless',
65
65
  message: 'This success toast stays until you click it.',
66
66
  position: 'bottom-right',
67
67
  duration: null,
68
68
  dedupeKey: 'endless-success-toast',
69
- }), children: "Endless" }), _jsx(Button, { v: 'soft', tone: 'warning', onClick: () => toast.warning({
69
+ }), children: "Endless" }), _jsx(Button, { v: "soft", tone: "warning", onClick: () => toast.warning({
70
70
  title: 'Needs attention',
71
71
  message: 'Only 4 items need attention in this view.',
72
72
  dedupeKey: 'needs-attention',
73
73
  position: 'top-right',
74
- }), children: "Warning dedupe" }), _jsx(Button, { v: 'soft', tone: 'danger', onClick: () => toast.error({
74
+ }), children: "Warning dedupe" }), _jsx(Button, { v: "soft", tone: "danger", onClick: () => toast.error({
75
75
  title: 'Export failed',
76
76
  message: 'The report can be retried without closing this page.',
77
77
  position: 'bottom-right',
@@ -79,23 +79,23 @@ export function OverlaysSection({ setModalOpen, setBlurModalOpen, setFastModalOp
79
79
  label: 'Retry',
80
80
  onClick: () => toast.info('Retry queued'),
81
81
  },
82
- }), children: "Error action" }), _jsx(Button, { v: 'surface', onClick: () => toast.info({
82
+ }), children: "Error action" }), _jsx(Button, { v: "surface", onClick: () => toast.info({
83
83
  title: 'Pinned note',
84
84
  message: 'duration: null keeps this toast visible.',
85
85
  position: 'top-center',
86
86
  duration: null,
87
87
  closeButton: true,
88
- }), children: "Pinned" }), _jsx(Button, { v: 'surface', onClick: () => toast.info({
88
+ }), children: "Pinned" }), _jsx(Button, { v: "surface", onClick: () => toast.info({
89
89
  title: 'Glass background',
90
90
  message: 'Theme blur and translucent background.',
91
91
  position: 'bottom-right',
92
92
  duration: 5200,
93
- }), children: "Glass" })] }), _jsx(Text, { color: 'var(--oui-muted)', fs: '13px', lh: 1.45, children: "Toasts support typed helpers, controlled position, progress line, dedupe keys, actions and fixed viewport above modals." }), _jsx("div", { className: 'oui-ui-row', children: toastPositions.map((item) => (_jsx(Button, { size: 1, v: 'surface', onClick: () => toast.info({
93
+ }), children: "Glass" })] }), _jsx(Text, { color: "var(--oui-muted)", fs: "13px", lh: 1.45, children: "Toasts support typed helpers, controlled position, progress line, dedupe keys, actions and fixed viewport above modals." }), _jsx("div", { className: "oui-ui-row", children: toastPositions.map((item) => (_jsx(Button, { size: 1, v: "surface", onClick: () => toast.info({
94
94
  title: item.label,
95
95
  message: 'Positioned toast with the default glass surface.',
96
96
  position: item.position,
97
97
  duration: 3600,
98
- }), children: item.label }, item.position))) }), _jsxs("div", { className: 'oui-ui-row', children: [_jsx(Button, { size: 1, tone: 'success', v: 'soft', onClick: () => {
98
+ }), children: item.label }, item.position))) }), _jsxs("div", { className: "oui-ui-row", children: [_jsx(Button, { size: 1, tone: "success", v: "soft", onClick: () => {
99
99
  toastPositionVariants.forEach((item, index) => {
100
100
  window.setTimeout(() => {
101
101
  toast.push({
@@ -107,10 +107,10 @@ export function OverlaysSection({ setModalOpen, setBlurModalOpen, setFastModalOp
107
107
  });
108
108
  }, index * 120);
109
109
  });
110
- }, children: "Show all positions" }), _jsx(Button, { size: 1, tone: 'warning', v: 'soft', onClick: () => toast.warning({
110
+ }, children: "Show all positions" }), _jsx(Button, { size: 1, tone: "warning", v: "soft", onClick: () => toast.warning({
111
111
  title: 'Long task queued',
112
112
  message: 'A longer duration shows the progress strip clearly.',
113
113
  position: 'bottom-center',
114
114
  duration: 9000,
115
- }), children: "Long progress" })] })] }) }) }), _jsx(UiExampleSection, { id: 'overlay-settings-example', title: 'Overlay settings', description: 'Modal overlay color, opacity, blur and animation settings.', children: _jsx(ExampleTile, { title: 'Overlay settings', code: codeSamples.overlaySettings, onOpen: onOpenCode, children: _jsx(Text, { color: 'var(--oui-muted)', lh: 1.5, children: "The modal accepts overlay color, opacity, blur, animation and animationDuration props. Default animation and duration come from the theme." }) }) })] }));
115
+ }), children: "Long progress" })] })] }) }) }), _jsx(UiExampleSection, { id: "overlay-settings-example", title: "Overlay settings", description: "Modal overlay color, opacity, blur and animation settings.", children: _jsx(ExampleTile, { title: "Overlay settings", code: codeSamples.overlaySettings, onOpen: onOpenCode, children: _jsx(Text, { color: "var(--oui-muted)", lh: 1.5, children: "The modal accepts overlay color, opacity, blur, animation and animationDuration props. Default animation and duration come from the theme." }) }) })] }));
116
116
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ExampleSelectionSection.d.ts","sourceRoot":"","sources":["../../src/example/ExampleSelectionSection.tsx"],"names":[],"mappings":"AAKA,OAAO,EAYH,KAAK,eAAe,EACvB,MAAM,IAAI,CAAC;AAEZ,OAAO,EAAc,KAAK,WAAW,EAAC,MAAM,eAAe,CAAC;AAC5D,OAAO,EAIH,KAAK,YAAY,EACpB,MAAM,eAAe,CAAC;AAGvB,KAAK,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAC;AAE/C,KAAK,qBAAqB,GAAG;IACzB,MAAM,EAAE,eAAe,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,mBAAmB,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACpD,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,4BAA4B,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC7D,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,wBAAwB,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACzD,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,kBAAkB,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACnD,WAAW,EAAE,YAAY,GAAG,IAAI,CAAC;IACjC,mBAAmB,EAAE,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,KAAK,IAAI,CAAC;IAC1D,cAAc,EAAE,YAAY,GAAG,IAAI,CAAC;IACpC,sBAAsB,EAAE,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,KAAK,IAAI,CAAC;IAC7D,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,mBAAmB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC/C,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,UAAU,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,CAAC;IAC3C,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,SAAS,KAAK,IAAI,CAAC;CACtD,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,EAC7B,MAAM,EACN,OAAO,EACP,eAAe,EACf,WAAW,EACX,mBAAmB,EACnB,oBAAoB,EACpB,4BAA4B,EAC5B,gBAAgB,EAChB,wBAAwB,EACxB,UAAU,EACV,kBAAkB,EAClB,WAAW,EACX,mBAAmB,EACnB,cAAc,EACd,sBAAsB,EACtB,WAAW,EACX,mBAAmB,EACnB,UAAU,EACV,kBAAkB,EAClB,QAAQ,EACR,gBAAgB,EAChB,UAAU,EACV,OAAO,GACV,EAAE,qBAAqB,2CAqMvB"}
1
+ {"version":3,"file":"ExampleSelectionSection.d.ts","sourceRoot":"","sources":["../../src/example/ExampleSelectionSection.tsx"],"names":[],"mappings":"AAKA,OAAO,EAYH,KAAK,eAAe,EACvB,MAAM,IAAI,CAAC;AAEZ,OAAO,EAAe,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAiD,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC;AAGjG,KAAK,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAC;AAE/C,KAAK,qBAAqB,GAAG;IACzB,MAAM,EAAE,eAAe,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,mBAAmB,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACpD,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,4BAA4B,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC7D,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,wBAAwB,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACzD,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,kBAAkB,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACnD,WAAW,EAAE,YAAY,GAAG,IAAI,CAAC;IACjC,mBAAmB,EAAE,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,KAAK,IAAI,CAAC;IAC1D,cAAc,EAAE,YAAY,GAAG,IAAI,CAAC;IACpC,sBAAsB,EAAE,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,KAAK,IAAI,CAAC;IAC7D,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,mBAAmB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC/C,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,UAAU,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,CAAC;IAC3C,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,SAAS,KAAK,IAAI,CAAC;CACtD,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,EAC7B,MAAM,EACN,OAAO,EACP,eAAe,EACf,WAAW,EACX,mBAAmB,EACnB,oBAAoB,EACpB,4BAA4B,EAC5B,gBAAgB,EAChB,wBAAwB,EACxB,UAAU,EACV,kBAAkB,EAClB,WAAW,EACX,mBAAmB,EACnB,cAAc,EACd,sBAAsB,EACtB,WAAW,EACX,mBAAmB,EACnB,UAAU,EACV,kBAAkB,EAClB,QAAQ,EACR,gBAAgB,EAChB,UAAU,EACV,OAAO,GACV,EAAE,qBAAqB,2CAmLvB"}
@@ -5,23 +5,23 @@ import { LuHistory, LuListChecks, LuPlus } from 'react-icons/lu';
5
5
  import { Checkbox, Combobox, EntityPicker, MultiSelect, PaginatedCombobox, RadioGroup, SegmentedControl, Select, Switch, Tabs, Text, } from '..';
6
6
  import { ExampleTile } from './CodePreview';
7
7
  import { codeSamples } from './codeSamples';
8
- import { getOptionItems, getOwnerItems, loadEntityPage, } from './exampleData';
8
+ import { getOptionItems, getOwnerItems, loadEntityPage } from './exampleData';
9
9
  import { UiExampleSection } from './UiExampleSection';
10
10
  export function SelectionSection({ locale, segment, onSegmentChange, selectValue, onSelectValueChange, selectNoChevronValue, onSelectNoChevronValueChange, selectPlainValue, onSelectPlainValueChange, comboValue, onComboValueChange, entityValue, onEntityValueChange, paginatedValue, onPaginatedValueChange, ownerValues, onOwnerValuesChange, radioValue, onRadioValueChange, tabValue, onTabValueChange, onOpenCode, onToast, }) {
11
11
  const optionItems = getOptionItems(locale);
12
12
  const ownerItems = getOwnerItems(locale);
13
13
  const copy = selectionCopy[locale];
14
14
  const loadLocalizedEntityPage = useCallback((page, search) => loadEntityPage(locale, page, search), [locale]);
15
- return (_jsxs(_Fragment, { children: [_jsx(UiExampleSection, { id: 'selects-example', title: 'Selects', description: 'Select, Combobox, MultiSelect, EntityPicker wrapper, lower-level PaginatedCombobox and SegmentedControl.', children: _jsxs(ExampleTile, { title: 'Selects and comboboxes', code: codeSamples.selection, onOpen: onOpenCode, children: [_jsx(Select, { items: optionItems, value: selectValue, onValueChange: onSelectValueChange, clearable: true }), _jsx(Select, { items: optionItems, value: selectNoChevronValue, onValueChange: onSelectNoChevronValueChange, clearable: true, showChevron: false, placeholder: 'Clearable without chevron' }), _jsx(Select, { items: optionItems, value: selectPlainValue, onValueChange: onSelectPlainValueChange, clearable: false, showChevron: false, placeholder: 'Plain select' }), _jsx(Combobox, { items: optionItems, value: comboValue, onValueChange: onComboValueChange, placeholder: 'Find status' }), _jsx(MultiSelect, { items: ownerItems, value: ownerValues, onValueChange: onOwnerValuesChange, placeholder: copy.responsibleUsers, clearable: true, renderValue: (items) => items.length === 1
15
+ return (_jsxs(_Fragment, { children: [_jsx(UiExampleSection, { id: "selects-example", title: "Selects", description: "Select, Combobox, MultiSelect, EntityPicker wrapper, lower-level PaginatedCombobox and SegmentedControl.", children: _jsxs(ExampleTile, { title: "Selects and comboboxes", code: codeSamples.selection, onOpen: onOpenCode, children: [_jsx(Select, { items: optionItems, value: selectValue, onValueChange: onSelectValueChange, clearable: true }), _jsx(Select, { items: optionItems, value: selectNoChevronValue, onValueChange: onSelectNoChevronValueChange, clearable: true, showChevron: false, placeholder: "Clearable without chevron" }), _jsx(Select, { items: optionItems, value: selectPlainValue, onValueChange: onSelectPlainValueChange, clearable: false, showChevron: false, placeholder: "Plain select" }), _jsx(Combobox, { items: optionItems, value: comboValue, onValueChange: onComboValueChange, placeholder: "Find status" }), _jsx(MultiSelect, { items: ownerItems, value: ownerValues, onValueChange: onOwnerValuesChange, placeholder: copy.responsibleUsers, clearable: true, renderValue: (items) => items.length === 1
16
16
  ? items[0]?.label
17
- : copy.responsibleCount(items.length) }), _jsx(EntityPicker, { value: entityValue, onValueChange: onEntityValueChange, loadPage: loadLocalizedEntityPage, getEntityId: (item) => item.id, renderValue: (item) => item.article, renderEntity: (item) => (_jsxs(_Fragment, { children: [_jsxs("span", { className: 'oui-entity-option-main', children: [_jsx("span", { className: 'oui-entity-option-code', children: item.article }), _jsx("span", { className: 'oui-entity-option-meta', children: item.name })] }), _jsx("span", { className: 'oui-entity-option-badge', children: item.status })] })), placeholder: copy.entityPicker, clearable: true, createAction: {
17
+ : copy.responsibleCount(items.length) }), _jsx(EntityPicker, { value: entityValue, onValueChange: onEntityValueChange, loadPage: loadLocalizedEntityPage, getEntityId: (item) => item.id, renderValue: (item) => item.article, renderEntity: (item) => (_jsxs(_Fragment, { children: [_jsxs("span", { className: "oui-entity-option-main", children: [_jsx("span", { className: "oui-entity-option-code", children: item.article }), _jsx("span", { className: "oui-entity-option-meta", children: item.name })] }), _jsx("span", { className: "oui-entity-option-badge", children: item.status })] })), placeholder: copy.entityPicker, clearable: true, createAction: {
18
18
  label: copy.createEntityFromSearch,
19
19
  onCreate: (search) => onToast(copy.createEntityToast(search), 'info'),
20
20
  }, optionAction: {
21
21
  icon: _jsx(LuPlus, { size: 14 }),
22
22
  label: (item) => copy.addEntity(item.article),
23
23
  onClick: (item) => onToast(copy.entityAction(item.article), 'success'),
24
- } }), _jsx(PaginatedCombobox, { value: paginatedValue, onChange: onPaginatedValueChange, loadPage: loadLocalizedEntityPage, getItemId: (item) => item.id, renderSelectedLabel: (item) => item.article, renderOption: (item) => (_jsxs("span", { className: 'oui-entity-option-main', children: [_jsx("span", { className: 'oui-entity-option-code', children: item.article }), _jsx("span", { className: 'oui-entity-option-meta', children: item.name })] })), placeholder: 'Paginated combobox', clearable: true, searchAction: {
24
+ } }), _jsx(PaginatedCombobox, { value: paginatedValue, onChange: onPaginatedValueChange, loadPage: loadLocalizedEntityPage, getItemId: (item) => item.id, renderSelectedLabel: (item) => item.article, renderOption: (item) => (_jsxs("span", { className: "oui-entity-option-main", children: [_jsx("span", { className: "oui-entity-option-code", children: item.article }), _jsx("span", { className: "oui-entity-option-meta", children: item.name })] })), placeholder: "Paginated combobox", clearable: true, searchAction: {
25
25
  label: copy.createEntityFromSearch,
26
26
  onClick: (search) => onToast(copy.createEntityToast(search), 'info'),
27
27
  }, optionAction: {
@@ -32,22 +32,22 @@ export function SelectionSection({ locale, segment, onSegmentChange, selectValue
32
32
  { value: 'active', label: 'Active' },
33
33
  { value: 'drafts', label: 'Drafts' },
34
34
  { value: 'archive', label: 'Archive' },
35
- ], value: segment, onValueChange: onSegmentChange })] }) }), _jsx(UiExampleSection, { id: 'choice-controls-example', title: 'Checkbox, switch and radio', description: 'Binary and single-choice controls.', children: _jsxs(ExampleTile, { title: 'Checkbox, switch and radio', code: codeSamples.selectionGroup, onOpen: onOpenCode, children: [_jsx(Checkbox, { defaultChecked: true, children: "Confirmed" }), _jsx(Checkbox, { children: "Needs review" }), _jsx(Checkbox, { disabled: true, children: "Locked option" }), _jsx(Switch, { defaultChecked: true, children: "Auto updates" }), _jsx(Switch, { children: "Manual mode" }), _jsx(Switch, { disabled: true, children: "Disabled switch" }), _jsx(RadioGroup, { value: radioValue, onValueChange: onRadioValueChange, name: 'oui-example-mode', items: [
35
+ ], value: segment, onValueChange: onSegmentChange })] }) }), _jsx(UiExampleSection, { id: "choice-controls-example", title: "Checkbox, switch and radio", description: "Binary and single-choice controls.", children: _jsxs(ExampleTile, { title: "Checkbox, switch and radio", code: codeSamples.selectionGroup, onOpen: onOpenCode, children: [_jsx(Checkbox, { defaultChecked: true, children: "Confirmed" }), _jsx(Checkbox, { children: "Needs review" }), _jsx(Checkbox, { disabled: true, children: "Locked option" }), _jsx(Switch, { defaultChecked: true, children: "Auto updates" }), _jsx(Switch, { children: "Manual mode" }), _jsx(Switch, { disabled: true, children: "Disabled switch" }), _jsx(RadioGroup, { value: radioValue, onValueChange: onRadioValueChange, name: "oui-example-mode", items: [
36
36
  { value: 'manual', label: 'Manual' },
37
37
  { value: 'auto', label: 'Automatic' },
38
- ] })] }) }), _jsx(UiExampleSection, { id: 'tabs-example', title: 'Tabs', description: 'Segmented content navigation with icons, badges and controlled value.', children: _jsx(ExampleTile, { title: 'Tabs', code: codeSamples.tabs, onOpen: onOpenCode, children: _jsx(Tabs, { value: tabValue, onValueChange: onTabValueChange, items: [
38
+ ] })] }) }), _jsx(UiExampleSection, { id: "tabs-example", title: "Tabs", description: "Segmented content navigation with icons, badges and controlled value.", children: _jsx(ExampleTile, { title: "Tabs", code: codeSamples.tabs, onOpen: onOpenCode, children: _jsx(Tabs, { value: tabValue, onValueChange: onTabValueChange, items: [
39
39
  {
40
40
  value: 'overview',
41
41
  label: 'Overview',
42
42
  icon: _jsx(LuListChecks, { size: 16 }),
43
43
  badge: '12',
44
- content: _jsx(Text, { color: 'var(--oui-muted)', children: "Main summary tab." }),
44
+ content: _jsx(Text, { color: "var(--oui-muted)", children: "Main summary tab." }),
45
45
  },
46
46
  {
47
47
  value: 'history',
48
48
  label: 'History',
49
49
  icon: _jsx(LuHistory, { size: 16 }),
50
- content: _jsx(Text, { color: 'var(--oui-muted)', children: "History and changes." }),
50
+ content: _jsx(Text, { color: "var(--oui-muted)", children: "History and changes." }),
51
51
  },
52
52
  ] }) }) })] }));
53
53
  }
@@ -1,11 +1,11 @@
1
1
  import { type CodeExample } from './codeSamples';
2
- export declare function BadgeSection({ onOpenCode, }: {
2
+ export declare function BadgeSection({ onOpenCode }: {
3
3
  onOpenCode: (example: CodeExample) => void;
4
4
  }): import("react/jsx-runtime").JSX.Element;
5
- export declare function StateCardSection({ onOpenCode, }: {
5
+ export declare function StateCardSection({ onOpenCode }: {
6
6
  onOpenCode: (example: CodeExample) => void;
7
7
  }): import("react/jsx-runtime").JSX.Element;
8
- export declare function IconTextSection({ onOpenCode, }: {
8
+ export declare function IconTextSection({ onOpenCode }: {
9
9
  onOpenCode: (example: CodeExample) => void;
10
10
  }): import("react/jsx-runtime").JSX.Element;
11
11
  //# sourceMappingURL=ExampleStateSection.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ExampleStateSection.d.ts","sourceRoot":"","sources":["../../src/example/ExampleStateSection.tsx"],"names":[],"mappings":"AA6BA,OAAO,EAAC,KAAK,WAAW,EAAC,MAAM,eAAe,CAAC;AAoH/C,wBAAgB,YAAY,CAAC,EACzB,UAAU,GACb,EAAE;IACC,UAAU,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,CAAC;CAC9C,2CAoCA;AAED,wBAAgB,gBAAgB,CAAC,EAC7B,UAAU,GACb,EAAE;IACC,UAAU,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,CAAC;CAC9C,2CAsEA;AAED,wBAAgB,eAAe,CAAC,EAC5B,UAAU,GACb,EAAE;IACC,UAAU,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,CAAC;CAC9C,2CAgCA"}
1
+ {"version":3,"file":"ExampleStateSection.d.ts","sourceRoot":"","sources":["../../src/example/ExampleStateSection.tsx"],"names":[],"mappings":"AA6BA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AAoHjD,wBAAgB,YAAY,CAAC,EAAE,UAAU,EAAE,EAAE;IAAE,UAAU,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,CAAA;CAAE,2CA4C1F;AAED,wBAAgB,gBAAgB,CAAC,EAAE,UAAU,EAAE,EAAE;IAAE,UAAU,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,CAAA;CAAE,2CAqE9F;AAED,wBAAgB,eAAe,CAAC,EAAE,UAAU,EAAE,EAAE;IAAE,UAAU,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,CAAA;CAAE,2CA4B7F"}