@surflane/ui 0.4.0 → 0.5.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 (136) hide show
  1. package/README.md +1 -1
  2. package/dist/{disclosure.d.ts → accordion.d.ts} +1 -17
  3. package/dist/{disclosure.js → accordion.js} +3 -17
  4. package/dist/alert-dialog.d.ts +31 -0
  5. package/dist/alert-dialog.js +22 -0
  6. package/dist/app-shell.js +9 -9
  7. package/dist/{input-extensions.d.ts → autocomplete.d.ts} +4 -42
  8. package/dist/{input-extensions.js → autocomplete.js} +7 -26
  9. package/dist/avatar.js +3 -5
  10. package/dist/badge.d.ts +20 -0
  11. package/dist/badge.js +16 -0
  12. package/dist/{navigation.d.ts → breadcrumbs.d.ts} +2 -6
  13. package/dist/breadcrumbs.js +31 -0
  14. package/dist/button.d.ts +11 -0
  15. package/dist/button.js +27 -4
  16. package/dist/{content.d.ts → card.d.ts} +6 -24
  17. package/dist/card.js +26 -0
  18. package/dist/chart.d.ts +19 -0
  19. package/dist/chart.js +24 -6
  20. package/dist/checkbox-group.d.ts +2 -0
  21. package/dist/checkbox-group.js +16 -0
  22. package/dist/checkbox.d.ts +9 -0
  23. package/dist/checkbox.js +29 -0
  24. package/dist/choice-label.d.ts +25 -0
  25. package/dist/choice-label.js +14 -0
  26. package/dist/choice.d.ts +7 -0
  27. package/dist/choice.js +3 -0
  28. package/dist/code.d.ts +21 -0
  29. package/dist/{content.js → code.js} +5 -30
  30. package/dist/collapsible.d.ts +18 -0
  31. package/dist/collapsible.js +21 -0
  32. package/dist/{advanced-forms.d.ts → combobox.d.ts} +5 -25
  33. package/dist/{advanced-forms.js → combobox.js} +13 -49
  34. package/dist/{context-overlays.d.ts → context-menu.d.ts} +6 -28
  35. package/dist/{context-overlays.js → context-menu.js} +5 -25
  36. package/dist/date-picker.js +3 -2
  37. package/dist/dialog.d.ts +6 -24
  38. package/dist/dialog.js +7 -20
  39. package/dist/{panels.d.ts → drawer.d.ts} +3 -34
  40. package/dist/drawer.js +47 -0
  41. package/dist/empty-state.d.ts +29 -0
  42. package/dist/empty-state.js +19 -0
  43. package/dist/field.d.ts +42 -0
  44. package/dist/field.js +21 -0
  45. package/dist/fieldset.d.ts +14 -0
  46. package/dist/fieldset.js +10 -0
  47. package/dist/file-upload.d.ts +3 -1
  48. package/dist/file-upload.js +7 -5
  49. package/dist/filter-bar.js +1 -1
  50. package/dist/form.d.ts +2 -0
  51. package/dist/form.js +7 -0
  52. package/dist/icon.d.ts +10 -0
  53. package/dist/icon.js +18 -3
  54. package/dist/index.d.ts +56 -29
  55. package/dist/index.js +70 -32
  56. package/dist/{messages.d.ts → inline-message.d.ts} +0 -28
  57. package/dist/{messages.js → inline-message.js} +3 -18
  58. package/dist/input.js +2 -2
  59. package/dist/{foundations.d.ts → layout.d.ts} +5 -23
  60. package/dist/{foundations.js → layout.js} +4 -19
  61. package/dist/link.d.ts +6 -0
  62. package/dist/link.js +17 -0
  63. package/dist/list.d.ts +33 -0
  64. package/dist/list.js +21 -0
  65. package/dist/markdown.js +4 -5
  66. package/dist/menu.d.ts +7 -5
  67. package/dist/menu.js +12 -8
  68. package/dist/menubar.d.ts +4 -0
  69. package/dist/menubar.js +4 -0
  70. package/dist/meter.d.ts +29 -0
  71. package/dist/meter.js +13 -0
  72. package/dist/native-select.d.ts +8 -0
  73. package/dist/native-select.js +54 -0
  74. package/dist/navigation-menu.js +8 -5
  75. package/dist/number-field.d.ts +23 -0
  76. package/dist/number-field.js +33 -0
  77. package/dist/page-header.d.ts +12 -0
  78. package/dist/page-header.js +9 -0
  79. package/dist/pagination.js +3 -4
  80. package/dist/panel.d.ts +13 -0
  81. package/dist/panel.js +13 -0
  82. package/dist/parts.d.ts +19 -1
  83. package/dist/parts.js +32 -6
  84. package/dist/popover.d.ts +23 -6
  85. package/dist/popover.js +17 -7
  86. package/dist/preview-card.d.ts +29 -0
  87. package/dist/preview-card.js +27 -0
  88. package/dist/progress.d.ts +29 -0
  89. package/dist/progress.js +13 -0
  90. package/dist/radio-group.d.ts +16 -0
  91. package/dist/radio-group.js +31 -0
  92. package/dist/scroll-area.js +3 -4
  93. package/dist/select.d.ts +8 -8
  94. package/dist/select.js +19 -54
  95. package/dist/separator.d.ts +4 -0
  96. package/dist/separator.js +8 -0
  97. package/dist/sheet.d.ts +29 -0
  98. package/dist/sheet.js +39 -0
  99. package/dist/skeleton.d.ts +8 -0
  100. package/dist/skeleton.js +8 -0
  101. package/dist/slider.d.ts +40 -0
  102. package/dist/slider.js +27 -0
  103. package/dist/spinner.d.ts +13 -0
  104. package/dist/spinner.js +10 -0
  105. package/dist/status.d.ts +1 -19
  106. package/dist/status.js +10 -14
  107. package/dist/switch.d.ts +13 -0
  108. package/dist/switch.js +25 -0
  109. package/dist/syntax-highlighter.js +2 -1
  110. package/dist/{data.d.ts → table.d.ts} +8 -32
  111. package/dist/{data.js → table.js} +15 -30
  112. package/dist/textarea.d.ts +7 -0
  113. package/dist/textarea.js +12 -0
  114. package/dist/toast.js +7 -6
  115. package/dist/toggle-group.d.ts +5 -0
  116. package/dist/toggle-group.js +7 -0
  117. package/dist/toggle.d.ts +7 -0
  118. package/dist/toggle.js +9 -0
  119. package/dist/{commands.d.ts → toolbar.d.ts} +0 -13
  120. package/dist/toolbar.js +14 -0
  121. package/dist/tooltip.d.ts +3 -2
  122. package/dist/tooltip.js +2 -2
  123. package/dist/tree.js +4 -2
  124. package/dist/typography.d.ts +12 -0
  125. package/dist/typography.js +14 -0
  126. package/package.json +237 -21
  127. package/src/styles.css +359 -191
  128. package/dist/chevron.d.ts +0 -3
  129. package/dist/chevron.js +0 -6
  130. package/dist/commands.js +0 -27
  131. package/dist/feedback.d.ts +0 -76
  132. package/dist/feedback.js +0 -35
  133. package/dist/forms.d.ts +0 -91
  134. package/dist/forms.js +0 -109
  135. package/dist/navigation.js +0 -41
  136. package/dist/panels.js +0 -100
package/dist/icon.d.ts CHANGED
@@ -12,12 +12,22 @@ declare const shapes: {
12
12
  sun: React.JSX.Element;
13
13
  moon: React.JSX.Element;
14
14
  monitor: React.JSX.Element;
15
+ minus: React.JSX.Element;
16
+ 'minus-circle': React.JSX.Element;
17
+ clock: React.JSX.Element;
15
18
  'chevron-down': React.JSX.Element;
16
19
  'chevron-forward': React.JSX.Element;
20
+ 'chevron-back': React.JSX.Element;
17
21
  'arrow-back': React.JSX.Element;
22
+ 'arrow-up': React.JSX.Element;
23
+ 'arrow-down': React.JSX.Element;
24
+ sort: React.JSX.Element;
18
25
  'external-link': React.JSX.Element;
19
26
  copy: React.JSX.Element;
20
27
  play: React.JSX.Element;
28
+ upload: React.JSX.Element;
29
+ calendar: React.JSX.Element;
30
+ user: React.JSX.Element;
21
31
  settings: React.JSX.Element;
22
32
  };
23
33
  export type IconName = keyof typeof shapes;
package/dist/icon.js CHANGED
@@ -1,6 +1,7 @@
1
1
  'use client';
2
2
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import * as React from 'react';
4
+ import { cx } from './parts.js';
4
5
  const shapes = {
5
6
  search: (_jsxs(_Fragment, { children: [_jsx("circle", { cx: '10.5', cy: '10.5', r: '6.5' }), _jsx("path", { d: 'm16 16 4 4' })] })),
6
7
  plus: _jsx("path", { d: 'M12 5v14M5 12h14' }),
@@ -14,18 +15,32 @@ const shapes = {
14
15
  sun: (_jsxs(_Fragment, { children: [_jsx("circle", { cx: '12', cy: '12', r: '4' }), _jsx("path", { d: 'M12 2v2m0 16v2M2 12h2m16 0h2M5 5l1.5 1.5m11 11L19 19M5 19l1.5-1.5m11-11L19 5' })] })),
15
16
  moon: _jsx("path", { d: 'M20.5 13.2A8.5 8.5 0 0 1 10.8 3.5 8.5 8.5 0 1 0 20.5 13.2Z' }),
16
17
  monitor: (_jsxs(_Fragment, { children: [_jsx("rect", { x: '3', y: '4', width: '18', height: '13', rx: '2' }), _jsx("path", { d: 'M8 21h8m-4-4v4' })] })),
18
+ minus: _jsx("path", { d: 'M5 12h14' }),
19
+ 'minus-circle': (_jsxs(_Fragment, { children: [_jsx("circle", { cx: '12', cy: '12', r: '9' }), _jsx("path", { d: 'M8 12h8' })] })),
20
+ clock: (_jsxs(_Fragment, { children: [_jsx("circle", { cx: '12', cy: '12', r: '9' }), _jsx("path", { d: 'M12 7v6l4 2' })] })),
17
21
  'chevron-down': _jsx("path", { d: 'm7 10 5 5 5-5' }),
18
22
  'chevron-forward': _jsx("path", { d: 'm9 6 6 6-6 6' }),
23
+ 'chevron-back': _jsx("path", { d: 'm15 6-6 6 6 6' }),
19
24
  'arrow-back': _jsx("path", { d: 'M20 12H4m7-7-7 7 7 7' }),
25
+ 'arrow-up': _jsx("path", { d: 'M12 19V5m-6 6 6-6 6 6' }),
26
+ 'arrow-down': _jsx("path", { d: 'M12 5v14m-6-6 6 6 6-6' }),
27
+ sort: _jsx("path", { d: 'm8 9 4-4 4 4m-8 6 4 4 4-4' }),
20
28
  'external-link': (_jsx(_Fragment, { children: _jsx("path", { d: 'M14 3h7v7m0-7L10 14M10 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-5' }) })),
21
29
  copy: (_jsxs(_Fragment, { children: [_jsx("rect", { x: '8', y: '8', width: '12', height: '13', rx: '2' }), _jsx("path", { d: 'M16 8V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h3' })] })),
22
30
  play: _jsx("path", { d: 'm7 3 14 9-14 9V3Z' }),
31
+ upload: _jsx("path", { d: 'M12 16V3m-5 5 5-5 5 5M4 16v5h16v-5' }),
32
+ calendar: (_jsxs(_Fragment, { children: [_jsx("rect", { x: '3', y: '5', width: '18', height: '16', rx: '3' }), _jsx("path", { d: 'M7 3v4m10-4v4M3 11h18m-12 4h2' })] })),
33
+ user: (_jsxs(_Fragment, { children: [_jsx("circle", { cx: '12', cy: '8', r: '4' }), _jsx("path", { d: 'M4 21v-2a8 8 0 0 1 16 0v2' })] })),
23
34
  settings: (_jsx(_Fragment, { children: _jsx("path", { d: 'M4 6h16M4 12h16M4 18h16M9 3v6m6 0v6m-6 0v6' }) })),
24
35
  };
25
36
  export const iconNames = Object.keys(shapes);
37
+ // These point along the reading direction, so they mirror in right-to-left text.
38
+ const directional = new Set([
39
+ 'chevron-forward',
40
+ 'chevron-back',
41
+ 'arrow-back',
42
+ ]);
26
43
  /** Static SVG only. Actions, focus, accessible button names and hit targets belong to the parent control. */
27
44
  export const Icon = /* @__PURE__ */ React.forwardRef(function Icon({ name, size = 'sm', decorative = true, label, className, ...props }, ref) {
28
- return (_jsx("svg", { ...props, ref: ref, className: ['pui-icon', className].filter(Boolean).join(' '), "data-size": size, "data-directional": name === 'chevron-forward' || name === 'arrow-back'
29
- ? 'true'
30
- : undefined, viewBox: '0 0 24 24', fill: 'none', stroke: 'currentColor', strokeLinecap: 'round', strokeLinejoin: 'round', focusable: 'false', "aria-hidden": decorative ? true : undefined, role: decorative ? undefined : 'img', "aria-label": decorative ? undefined : label, children: shapes[name] }));
45
+ return (_jsx("svg", { ...props, ref: ref, className: cx('pui-icon', className), "data-size": size, "data-directional": directional.has(name) ? 'true' : undefined, viewBox: '0 0 24 24', fill: 'none', stroke: 'currentColor', strokeLinecap: 'round', strokeLinejoin: 'round', focusable: 'false', "aria-hidden": decorative ? true : undefined, role: decorative ? undefined : 'img', "aria-label": decorative ? undefined : label, children: shapes[name] }));
31
46
  });
package/dist/index.d.ts CHANGED
@@ -1,37 +1,64 @@
1
- export { SizeProvider, type ComponentSize, type ComponentSizeAlias, } from './sizing.js';
2
- export { Button, type ButtonVariant, type ButtonSize, type ButtonProps, } from './button.js';
3
- export { Slot } from './slot.js';
1
+ export { Button, type ButtonVariant, type ButtonSize, type ButtonProps, LinkButton, type LinkButtonProps, } from './button.js';
2
+ export { Toolbar, ToolbarButton, ToolbarGroup, ToolbarInput, ToolbarLink, ToolbarRoot, ToolbarSeparator, } from './toolbar.js';
4
3
  export { Input } from './input.js';
5
- export { Select, NativeSelect, NativeSelectOption, NativeSelectOptGroup, type SelectOption, type SelectProps, } from './select.js';
4
+ export { Select, type SelectOption, type SelectGroup, type SelectProps, } from './select.js';
5
+ export { NativeSelect, NativeSelectOption, NativeSelectOptGroup, } from './native-select.js';
6
+ export { Field, FieldControl, FieldDescription, FieldError, FieldItem, FieldLabel, FieldRoot, FieldValidity, } from './field.js';
7
+ export { Fieldset, FieldsetLegend, FieldsetRoot } from './fieldset.js';
8
+ export { Form } from './form.js';
9
+ export { Textarea } from './textarea.js';
10
+ export { Combobox, ComboboxArrow, ComboboxBackdrop, ComboboxChip, ComboboxChipRemove, ComboboxChips, ComboboxClear, ComboboxCollection, ComboboxEmpty, ComboboxGroup, ComboboxGroupLabel, ComboboxIcon, ComboboxInput, ComboboxInputGroup, ComboboxItem, ComboboxItemIndicator, ComboboxLabel, ComboboxList, ComboboxPopup, ComboboxPortal, ComboboxPositioner, ComboboxRoot, ComboboxRow, ComboboxSeparator, ComboboxStatus, ComboboxTrigger, ComboboxValue, ComboboxContent, } from './combobox.js';
11
+ export { Autocomplete, AutocompleteArrow, AutocompleteBackdrop, AutocompleteClear, AutocompleteCollection, AutocompleteEmpty, AutocompleteGroup, AutocompleteGroupLabel, AutocompleteIcon, AutocompleteInput, AutocompleteInputGroup, AutocompleteItem, AutocompleteList, AutocompletePopup, AutocompletePortal, AutocompletePositioner, AutocompleteRoot, AutocompleteRow, AutocompleteSeparator, AutocompleteStatus, AutocompleteTrigger, AutocompleteValue, AutocompleteContent, } from './autocomplete.js';
12
+ export { NumberField, NumberFieldDecrement, NumberFieldGroup, NumberFieldIncrement, NumberFieldInput, NumberFieldRoot, NumberFieldScrubArea, NumberFieldScrubAreaCursor, } from './number-field.js';
13
+ export { Slider, SliderControl, SliderIndicator, SliderLabel, SliderRoot, SliderThumb, SliderTrack, SliderValue, } from './slider.js';
14
+ export { OTPField, OTPFieldInput, OTPFieldRoot, OTPFieldSeparator, OTPFieldGroup, } from './otp-field.js';
15
+ export { FileUpload, type FileUploadProps, type UploadTransport, type FileUploadLabels, type FileChangeDetails, type FileRejection, type UploadState, } from './file-upload.js';
16
+ export { Checkbox, CheckboxIndicator, CheckboxRoot } from './checkbox.js';
17
+ export { CheckboxGroup } from './checkbox-group.js';
18
+ export { Radio, RadioGroup, RadioIndicator, RadioRoot } from './radio-group.js';
19
+ export { Switch, SwitchRoot, SwitchThumb } from './switch.js';
20
+ export { Toggle } from './toggle.js';
21
+ export { ToggleGroup } from './toggle-group.js';
22
+ export { ChoiceLabel, type ChoiceLabelProps } from './choice-label.js';
6
23
  export { Popover, PopoverArrow, PopoverBackdrop, PopoverClose, PopoverDescription, PopoverHandle, PopoverPopup, PopoverPortal, PopoverPositioner, PopoverRoot, PopoverTitle, PopoverTrigger, PopoverViewport, PopoverContent, } from './popover.js';
7
- export { Tooltip, TooltipProvider } from './tooltip.js';
8
- export { Dialog, AlertDialog, DialogBackdrop, DialogClose, DialogDescription, DialogHandle, DialogPopup, DialogPortal, DialogRoot, DialogTitle, DialogTrigger, DialogViewport, DialogContent, DialogHeader, DialogBody, DialogFooter, DialogCloseButton, AlertDialogBackdrop, AlertDialogClose, AlertDialogDescription, AlertDialogHandle, AlertDialogPopup, AlertDialogPortal, AlertDialogRoot, AlertDialogTitle, AlertDialogTrigger, AlertDialogViewport, AlertDialogContent, AlertDialogHeader, AlertDialogFooter, } from './dialog.js';
9
24
  export { Menu, MenuArrow, MenuBackdrop, MenuCheckboxItem, MenuCheckboxItemIndicator, MenuClear, MenuEmpty, MenuFilterProvider, MenuGroup, MenuGroupLabel, MenuHandle, MenuInput, MenuItem, MenuLinkItem, MenuList, MenuPopup, MenuPortal, MenuPositioner, MenuRadioGroup, MenuRadioItem, MenuRadioItemIndicator, MenuRoot, MenuSeparator, MenuSubmenuRoot, MenuSubmenuTrigger, MenuTrigger, MenuViewport, MenuContent, } from './menu.js';
10
- export { ScrollArea } from './scroll-area.js';
11
- export { Sheet, Drawer, type PanelSide, SheetBackdrop, SheetClose, SheetDescription, SheetHandle, SheetPopup, SheetPortal, SheetRoot, SheetTitle, SheetTrigger, SheetViewport, SheetContent, SheetHeader, SheetBody, SheetFooter, DrawerBackdrop, DrawerClose, DrawerContent, DrawerDescription, DrawerHandle, DrawerIndent, DrawerIndentBackground, DrawerPopup, DrawerPortal, DrawerProvider, DrawerRoot, DrawerSwipeArea, DrawerTitle, DrawerTrigger, DrawerViewport, DrawerVirtualKeyboardProvider, DrawerPrimitiveContent, DrawerHeader, DrawerBody, DrawerFooter, } from './panels.js';
12
- export { Container, Stack, Inline, Grid, GridItem, Surface, Heading, Text, PageHeader, Prose, type Space, } from './foundations.js';
13
- export { Field, Fieldset, Form, Textarea, Checkbox, CheckboxGroup, Radio, RadioGroup, Switch, FieldControl, FieldDescription, FieldError, FieldItem, FieldLabel, FieldRoot, FieldValidity, FieldsetLegend, FieldsetRoot, CheckboxIndicator, CheckboxRoot, RadioIndicator, RadioRoot, SwitchRoot, SwitchThumb, } from './forms.js';
25
+ export { ContextMenu, ContextMenuArrow, ContextMenuBackdrop, ContextMenuCheckboxItem, ContextMenuCheckboxItemIndicator, ContextMenuGroup, ContextMenuGroupLabel, ContextMenuItem, ContextMenuLinkItem, ContextMenuPopup, ContextMenuPortal, ContextMenuPositioner, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuRadioItemIndicator, ContextMenuRoot, ContextMenuSeparator, ContextMenuSubmenuRoot, ContextMenuSubmenuTrigger, ContextMenuTrigger, ContextMenuContent, } from './context-menu.js';
26
+ export { Tooltip, TooltipProvider } from './tooltip.js';
27
+ export { PreviewCard, PreviewCardArrow, PreviewCardBackdrop, PreviewCardHandle, PreviewCardPopup, PreviewCardPortal, PreviewCardPositioner, PreviewCardRoot, PreviewCardTrigger, PreviewCardViewport, PreviewCardContent, } from './preview-card.js';
28
+ export { Dialog, DialogBackdrop, DialogClose, DialogDescription, DialogHandle, DialogPopup, DialogPortal, DialogRoot, DialogTitle, DialogTrigger, DialogViewport, DialogContent, DialogHeader, DialogBody, DialogFooter, DialogCloseButton, } from './dialog.js';
29
+ export { AlertDialog, AlertDialogBackdrop, AlertDialogClose, AlertDialogDescription, AlertDialogHandle, AlertDialogPopup, AlertDialogPortal, AlertDialogRoot, AlertDialogTitle, AlertDialogTrigger, AlertDialogViewport, AlertDialogContent, AlertDialogHeader, AlertDialogFooter, } from './alert-dialog.js';
30
+ export { Sheet, SheetBackdrop, SheetClose, SheetDescription, SheetHandle, SheetPopup, SheetPortal, SheetRoot, SheetTitle, SheetTrigger, SheetViewport, SheetContent, SheetHeader, SheetBody, SheetFooter, type PanelSide, } from './sheet.js';
31
+ export { Drawer, DrawerBackdrop, DrawerClose, DrawerContent, DrawerDescription, DrawerHandle, DrawerIndent, DrawerIndentBackground, DrawerPopup, DrawerPortal, DrawerProvider, DrawerRoot, DrawerSwipeArea, DrawerTitle, DrawerTrigger, DrawerViewport, DrawerVirtualKeyboardProvider, DrawerPrimitiveContent, DrawerHeader, DrawerBody, DrawerFooter, } from './drawer.js';
14
32
  export { Tabs, TabsIndicator, TabsList, TabsPanel, TabsRoot, TabsTab, } from './tabs.js';
15
- export { Accordion, Collapsible, AccordionHeader, AccordionItem, AccordionPanel, AccordionRoot, AccordionTrigger, CollapsiblePanel, CollapsibleRoot, CollapsibleTrigger, } from './disclosure.js';
16
- export { Avatar, AvatarFallback, AvatarImage, AvatarRoot, AvatarStatus, } from './avatar.js';
17
- export { Separator, Link, Breadcrumbs, BreadcrumbsRoot, BreadcrumbsList, BreadcrumbsItem, BreadcrumbsLink, BreadcrumbsSeparator, BreadcrumbsCurrent, } from './navigation.js';
18
- export { Badge, StatusBadge, type BadgeProps, type StatusTone, } from './status.js';
19
- export { Progress, Meter, Spinner, Skeleton, type SpinnerProps, type SkeletonProps, ProgressIndicator, ProgressLabel, ProgressRoot, ProgressTrack, ProgressValue, MeterIndicator, MeterLabel, MeterRoot, MeterTrack, MeterValue, } from './feedback.js';
20
- export { Table, List, TableContainer, TableRoot, TableCaption, TableHead, TableBody, TableFoot, TableRow, TableHeaderCell, TableSortHeader, TableCell, TableTruncate, TableMessage, ListRoot, ListItem, ListContent, ListTitle, ListDescription, ListActions, type TableDensity, type TableSort, } from './data.js';
21
- export { useTableSelection, type TableSelectionOptions, type TableSelectionCheckbox, } from './table-selection.js';
22
- export { InlineMessage, EmptyState, InlineMessageRoot, InlineMessageIcon, InlineMessageContent, InlineMessageTitle, InlineMessageDescription, InlineMessageActions, EmptyStateRoot, EmptyStateIcon, EmptyStateTitle, EmptyStateDescription, EmptyStateActions, } from './messages.js';
23
- export { Card, CodeBlock, type CodeBlockProps, CardRoot, CardHeader, CardTitle, CardDescription, CardBody, CardFooter, } from './content.js';
24
- export { Pagination, type PaginationProps } from './pagination.js';
25
- export { Combobox, NumberField, ComboboxArrow, ComboboxBackdrop, ComboboxChip, ComboboxChipRemove, ComboboxChips, ComboboxClear, ComboboxCollection, ComboboxEmpty, ComboboxGroup, ComboboxGroupLabel, ComboboxIcon, ComboboxInput, ComboboxInputGroup, ComboboxItem, ComboboxItemIndicator, ComboboxLabel, ComboboxList, ComboboxPopup, ComboboxPortal, ComboboxPositioner, ComboboxRoot, ComboboxRow, ComboboxSeparator, ComboboxStatus, ComboboxTrigger, ComboboxValue, ComboboxContent, NumberFieldDecrement, NumberFieldGroup, NumberFieldIncrement, NumberFieldInput, NumberFieldRoot, NumberFieldScrubArea, NumberFieldScrubAreaCursor, } from './advanced-forms.js';
26
- export { Autocomplete, Slider, AutocompleteArrow, AutocompleteBackdrop, AutocompleteClear, AutocompleteCollection, AutocompleteEmpty, AutocompleteGroup, AutocompleteGroupLabel, AutocompleteIcon, AutocompleteInput, AutocompleteInputGroup, AutocompleteItem, AutocompleteList, AutocompletePopup, AutocompletePortal, AutocompletePositioner, AutocompleteRoot, AutocompleteRow, AutocompleteSeparator, AutocompleteStatus, AutocompleteTrigger, AutocompleteValue, AutocompleteContent, SliderControl, SliderIndicator, SliderLabel, SliderRoot, SliderThumb, SliderTrack, SliderValue, } from './input-extensions.js';
27
- export { DirectionProvider } from '@base-ui/react/direction-provider';
28
- export { Toggle, ToggleGroup, Toolbar, Menubar, ToolbarButton, ToolbarGroup, ToolbarInput, ToolbarLink, ToolbarRoot, ToolbarSeparator, } from './commands.js';
29
- export { ContextMenu, PreviewCard, ContextMenuArrow, ContextMenuBackdrop, ContextMenuCheckboxItem, ContextMenuCheckboxItemIndicator, ContextMenuGroup, ContextMenuGroupLabel, ContextMenuItem, ContextMenuLinkItem, ContextMenuPopup, ContextMenuPortal, ContextMenuPositioner, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuRadioItemIndicator, ContextMenuRoot, ContextMenuSeparator, ContextMenuSubmenuRoot, ContextMenuSubmenuTrigger, ContextMenuTrigger, ContextMenuContent, PreviewCardArrow, PreviewCardBackdrop, PreviewCardHandle, PreviewCardPopup, PreviewCardPortal, PreviewCardPositioner, PreviewCardRoot, PreviewCardTrigger, PreviewCardViewport, PreviewCardContent, } from './context-overlays.js';
33
+ export { Accordion, AccordionHeader, AccordionItem, AccordionPanel, AccordionRoot, AccordionTrigger, } from './accordion.js';
34
+ export { Collapsible, CollapsiblePanel, CollapsibleRoot, CollapsibleTrigger, } from './collapsible.js';
30
35
  export { NavigationMenu, NavigationMenuArrow, NavigationMenuBackdrop, NavigationMenuContent, NavigationMenuIcon, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuPopup, NavigationMenuPortal, NavigationMenuPositioner, NavigationMenuRoot, NavigationMenuTrigger, NavigationMenuViewport, } from './navigation-menu.js';
31
- export { OTPField, OTPFieldInput, OTPFieldRoot, OTPFieldSeparator, OTPFieldGroup, } from './otp-field.js';
36
+ export { Menubar } from './menubar.js';
37
+ export { Link, type LinkProps } from './link.js';
38
+ export { Breadcrumbs, BreadcrumbsRoot, BreadcrumbsList, BreadcrumbsItem, BreadcrumbsLink, BreadcrumbsSeparator, BreadcrumbsCurrent, } from './breadcrumbs.js';
39
+ export { Pagination, type PaginationProps } from './pagination.js';
40
+ export { Avatar, AvatarFallback, AvatarImage, AvatarRoot, AvatarStatus, } from './avatar.js';
41
+ export { Badge, StatusBadge, type BadgeProps, type StatusTone, } from './badge.js';
42
+ export { Card, CardRoot, CardHeader, CardTitle, CardDescription, CardBody, CardFooter, } from './card.js';
43
+ export { Table, TableContainer, TableRoot, TableCaption, TableHead, TableBody, TableFoot, TableRow, TableHeaderCell, TableSortHeader, TableCell, TableTruncate, TableMessage, type TableDensity, type TableSort, useTableSelection, type TableSelectionOptions, type TableSelectionCheckbox, } from './table.js';
44
+ export { CodeBlock, type CodeBlockProps } from './code.js';
45
+ export { SyntaxHighlighter, syntaxLanguages, type SyntaxHighlighterProps, } from './syntax-highlighter.js';
46
+ export { List, ListRoot, ListItem, ListContent, ListTitle, ListDescription, ListActions, } from './list.js';
47
+ export { ScrollArea } from './scroll-area.js';
48
+ export { Separator } from './separator.js';
49
+ export { Progress, ProgressIndicator, ProgressLabel, ProgressRoot, ProgressTrack, ProgressValue, } from './progress.js';
50
+ export { Meter, MeterIndicator, MeterLabel, MeterRoot, MeterTrack, MeterValue, } from './meter.js';
32
51
  export { Toast, type ToastRootProps, type ToastViewportProps, ToastAction, ToastArrow, ToastClose, ToastContent, ToastDescription, ToastPortal, ToastPositioner, ToastProvider, ToastRoot, ToastTitle, ToastViewport, ToastIcon, ToastText, } from './toast.js';
33
- export { FileUpload, type FileUploadProps, type UploadTransport, type FileUploadLabels, type FileChangeDetails, type FileRejection, type UploadState, } from './file-upload.js';
52
+ export { InlineMessage, InlineMessageRoot, InlineMessageIcon, InlineMessageContent, InlineMessageTitle, InlineMessageDescription, InlineMessageActions, } from './inline-message.js';
53
+ export { Spinner, type SpinnerProps } from './spinner.js';
54
+ export { Skeleton, type SkeletonProps } from './skeleton.js';
55
+ export { EmptyState, EmptyStateRoot, EmptyStateIcon, EmptyStateTitle, EmptyStateDescription, EmptyStateActions, } from './empty-state.js';
56
+ export { Container, Stack, Inline, Grid, GridItem, Surface, type SurfaceKind, type Space, } from './layout.js';
57
+ export { Heading, Text, Prose } from './typography.js';
34
58
  export { Icon, iconNames, type IconName, type IconProps } from './icon.js';
35
- export { FilterBar, FilterBarRoot, FilterBarControls, FilterBarField, FilterBarActions, FilterBarSummary, } from './filter-bar.js';
59
+ export { SizeProvider, type ComponentSize, type ComponentSizeAlias, } from './sizing.js';
60
+ export { DirectionProvider } from '@base-ui/react/direction-provider';
61
+ export { Slot } from './slot.js';
36
62
  export { AppShell, AppShellRoot, AppShellHeader, AppShellSidebar, AppShellContent, AppShellPage, AppShellFooter, AppShellLabel, AppShellLink, } from './app-shell.js';
37
- export { SyntaxHighlighter, syntaxLanguages, type SyntaxHighlighterProps, } from './syntax-highlighter.js';
63
+ export { PageHeader } from './page-header.js';
64
+ export { FilterBar, FilterBarRoot, FilterBarControls, FilterBarField, FilterBarActions, FilterBarSummary, } from './filter-bar.js';
package/dist/index.js CHANGED
@@ -1,41 +1,79 @@
1
1
  'use client';
2
- export { SizeProvider, } from './sizing.js';
3
- export { Button, } from './button.js';
4
- export { Slot } from './slot.js';
2
+ // One entry per catalog page: each module is also its own entry point, such as
3
+ // @surflane/ui/checkbox. Chart, DatePicker, Markdown, Tree and syntax highlighting
4
+ // need optional packages, so they live only on their own entry points:
5
+ // @surflane/ui/chart, /date-picker, /markdown, /tree and /syntax-highlighting.
6
+ // Actions
7
+ export { Button, LinkButton, } from './button.js';
8
+ export { Toolbar, ToolbarButton, ToolbarGroup, ToolbarInput, ToolbarLink, ToolbarRoot, ToolbarSeparator, } from './toolbar.js';
9
+ // Forms
5
10
  export { Input } from './input.js';
6
- export { Select, NativeSelect, NativeSelectOption, NativeSelectOptGroup, } from './select.js';
11
+ export { Select, } from './select.js';
12
+ export { NativeSelect, NativeSelectOption, NativeSelectOptGroup, } from './native-select.js';
13
+ export { Field, FieldControl, FieldDescription, FieldError, FieldItem, FieldLabel, FieldRoot, FieldValidity, } from './field.js';
14
+ export { Fieldset, FieldsetLegend, FieldsetRoot } from './fieldset.js';
15
+ export { Form } from './form.js';
16
+ export { Textarea } from './textarea.js';
17
+ export { Combobox, ComboboxArrow, ComboboxBackdrop, ComboboxChip, ComboboxChipRemove, ComboboxChips, ComboboxClear, ComboboxCollection, ComboboxEmpty, ComboboxGroup, ComboboxGroupLabel, ComboboxIcon, ComboboxInput, ComboboxInputGroup, ComboboxItem, ComboboxItemIndicator, ComboboxLabel, ComboboxList, ComboboxPopup, ComboboxPortal, ComboboxPositioner, ComboboxRoot, ComboboxRow, ComboboxSeparator, ComboboxStatus, ComboboxTrigger, ComboboxValue, ComboboxContent, } from './combobox.js';
18
+ export { Autocomplete, AutocompleteArrow, AutocompleteBackdrop, AutocompleteClear, AutocompleteCollection, AutocompleteEmpty, AutocompleteGroup, AutocompleteGroupLabel, AutocompleteIcon, AutocompleteInput, AutocompleteInputGroup, AutocompleteItem, AutocompleteList, AutocompletePopup, AutocompletePortal, AutocompletePositioner, AutocompleteRoot, AutocompleteRow, AutocompleteSeparator, AutocompleteStatus, AutocompleteTrigger, AutocompleteValue, AutocompleteContent, } from './autocomplete.js';
19
+ export { NumberField, NumberFieldDecrement, NumberFieldGroup, NumberFieldIncrement, NumberFieldInput, NumberFieldRoot, NumberFieldScrubArea, NumberFieldScrubAreaCursor, } from './number-field.js';
20
+ export { Slider, SliderControl, SliderIndicator, SliderLabel, SliderRoot, SliderThumb, SliderTrack, SliderValue, } from './slider.js';
21
+ export { OTPField, OTPFieldInput, OTPFieldRoot, OTPFieldSeparator, OTPFieldGroup, } from './otp-field.js';
22
+ export { FileUpload, } from './file-upload.js';
23
+ // Selection
24
+ export { Checkbox, CheckboxIndicator, CheckboxRoot } from './checkbox.js';
25
+ export { CheckboxGroup } from './checkbox-group.js';
26
+ export { Radio, RadioGroup, RadioIndicator, RadioRoot } from './radio-group.js';
27
+ export { Switch, SwitchRoot, SwitchThumb } from './switch.js';
28
+ export { Toggle } from './toggle.js';
29
+ export { ToggleGroup } from './toggle-group.js';
30
+ export { ChoiceLabel } from './choice-label.js';
31
+ // Overlays
7
32
  export { Popover, PopoverArrow, PopoverBackdrop, PopoverClose, PopoverDescription, PopoverHandle, PopoverPopup, PopoverPortal, PopoverPositioner, PopoverRoot, PopoverTitle, PopoverTrigger, PopoverViewport, PopoverContent, } from './popover.js';
8
- export { Tooltip, TooltipProvider } from './tooltip.js';
9
- export { Dialog, AlertDialog, DialogBackdrop, DialogClose, DialogDescription, DialogHandle, DialogPopup, DialogPortal, DialogRoot, DialogTitle, DialogTrigger, DialogViewport, DialogContent, DialogHeader, DialogBody, DialogFooter, DialogCloseButton, AlertDialogBackdrop, AlertDialogClose, AlertDialogDescription, AlertDialogHandle, AlertDialogPopup, AlertDialogPortal, AlertDialogRoot, AlertDialogTitle, AlertDialogTrigger, AlertDialogViewport, AlertDialogContent, AlertDialogHeader, AlertDialogFooter, } from './dialog.js';
10
33
  export { Menu, MenuArrow, MenuBackdrop, MenuCheckboxItem, MenuCheckboxItemIndicator, MenuClear, MenuEmpty, MenuFilterProvider, MenuGroup, MenuGroupLabel, MenuHandle, MenuInput, MenuItem, MenuLinkItem, MenuList, MenuPopup, MenuPortal, MenuPositioner, MenuRadioGroup, MenuRadioItem, MenuRadioItemIndicator, MenuRoot, MenuSeparator, MenuSubmenuRoot, MenuSubmenuTrigger, MenuTrigger, MenuViewport, MenuContent, } from './menu.js';
11
- export { ScrollArea } from './scroll-area.js';
12
- export { Sheet, Drawer, SheetBackdrop, SheetClose, SheetDescription, SheetHandle, SheetPopup, SheetPortal, SheetRoot, SheetTitle, SheetTrigger, SheetViewport, SheetContent, SheetHeader, SheetBody, SheetFooter, DrawerBackdrop, DrawerClose, DrawerContent, DrawerDescription, DrawerHandle, DrawerIndent, DrawerIndentBackground, DrawerPopup, DrawerPortal, DrawerProvider, DrawerRoot, DrawerSwipeArea, DrawerTitle, DrawerTrigger, DrawerViewport, DrawerVirtualKeyboardProvider, DrawerPrimitiveContent, DrawerHeader, DrawerBody, DrawerFooter, } from './panels.js';
13
- export { Container, Stack, Inline, Grid, GridItem, Surface, Heading, Text, PageHeader, Prose, } from './foundations.js';
14
- export { Field, Fieldset, Form, Textarea, Checkbox, CheckboxGroup, Radio, RadioGroup, Switch, FieldControl, FieldDescription, FieldError, FieldItem, FieldLabel, FieldRoot, FieldValidity, FieldsetLegend, FieldsetRoot, CheckboxIndicator, CheckboxRoot, RadioIndicator, RadioRoot, SwitchRoot, SwitchThumb, } from './forms.js';
34
+ export { ContextMenu, ContextMenuArrow, ContextMenuBackdrop, ContextMenuCheckboxItem, ContextMenuCheckboxItemIndicator, ContextMenuGroup, ContextMenuGroupLabel, ContextMenuItem, ContextMenuLinkItem, ContextMenuPopup, ContextMenuPortal, ContextMenuPositioner, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuRadioItemIndicator, ContextMenuRoot, ContextMenuSeparator, ContextMenuSubmenuRoot, ContextMenuSubmenuTrigger, ContextMenuTrigger, ContextMenuContent, } from './context-menu.js';
35
+ export { Tooltip, TooltipProvider } from './tooltip.js';
36
+ export { PreviewCard, PreviewCardArrow, PreviewCardBackdrop, PreviewCardHandle, PreviewCardPopup, PreviewCardPortal, PreviewCardPositioner, PreviewCardRoot, PreviewCardTrigger, PreviewCardViewport, PreviewCardContent, } from './preview-card.js';
37
+ export { Dialog, DialogBackdrop, DialogClose, DialogDescription, DialogHandle, DialogPopup, DialogPortal, DialogRoot, DialogTitle, DialogTrigger, DialogViewport, DialogContent, DialogHeader, DialogBody, DialogFooter, DialogCloseButton, } from './dialog.js';
38
+ export { AlertDialog, AlertDialogBackdrop, AlertDialogClose, AlertDialogDescription, AlertDialogHandle, AlertDialogPopup, AlertDialogPortal, AlertDialogRoot, AlertDialogTitle, AlertDialogTrigger, AlertDialogViewport, AlertDialogContent, AlertDialogHeader, AlertDialogFooter, } from './alert-dialog.js';
39
+ export { Sheet, SheetBackdrop, SheetClose, SheetDescription, SheetHandle, SheetPopup, SheetPortal, SheetRoot, SheetTitle, SheetTrigger, SheetViewport, SheetContent, SheetHeader, SheetBody, SheetFooter, } from './sheet.js';
40
+ export { Drawer, DrawerBackdrop, DrawerClose, DrawerContent, DrawerDescription, DrawerHandle, DrawerIndent, DrawerIndentBackground, DrawerPopup, DrawerPortal, DrawerProvider, DrawerRoot, DrawerSwipeArea, DrawerTitle, DrawerTrigger, DrawerViewport, DrawerVirtualKeyboardProvider, DrawerPrimitiveContent, DrawerHeader, DrawerBody, DrawerFooter, } from './drawer.js';
41
+ // Navigation
15
42
  export { Tabs, TabsIndicator, TabsList, TabsPanel, TabsRoot, TabsTab, } from './tabs.js';
16
- export { Accordion, Collapsible, AccordionHeader, AccordionItem, AccordionPanel, AccordionRoot, AccordionTrigger, CollapsiblePanel, CollapsibleRoot, CollapsibleTrigger, } from './disclosure.js';
17
- export { Avatar, AvatarFallback, AvatarImage, AvatarRoot, AvatarStatus, } from './avatar.js';
18
- export { Separator, Link, Breadcrumbs, BreadcrumbsRoot, BreadcrumbsList, BreadcrumbsItem, BreadcrumbsLink, BreadcrumbsSeparator, BreadcrumbsCurrent, } from './navigation.js';
19
- export { Badge, StatusBadge, } from './status.js';
20
- export { Progress, Meter, Spinner, Skeleton, ProgressIndicator, ProgressLabel, ProgressRoot, ProgressTrack, ProgressValue, MeterIndicator, MeterLabel, MeterRoot, MeterTrack, MeterValue, } from './feedback.js';
21
- export { Table, List, TableContainer, TableRoot, TableCaption, TableHead, TableBody, TableFoot, TableRow, TableHeaderCell, TableSortHeader, TableCell, TableTruncate, TableMessage, ListRoot, ListItem, ListContent, ListTitle, ListDescription, ListActions, } from './data.js';
22
- export { useTableSelection, } from './table-selection.js';
23
- export { InlineMessage, EmptyState, InlineMessageRoot, InlineMessageIcon, InlineMessageContent, InlineMessageTitle, InlineMessageDescription, InlineMessageActions, EmptyStateRoot, EmptyStateIcon, EmptyStateTitle, EmptyStateDescription, EmptyStateActions, } from './messages.js';
24
- export { Card, CodeBlock, CardRoot, CardHeader, CardTitle, CardDescription, CardBody, CardFooter, } from './content.js';
25
- export { Pagination } from './pagination.js';
26
- export { Combobox, NumberField, ComboboxArrow, ComboboxBackdrop, ComboboxChip, ComboboxChipRemove, ComboboxChips, ComboboxClear, ComboboxCollection, ComboboxEmpty, ComboboxGroup, ComboboxGroupLabel, ComboboxIcon, ComboboxInput, ComboboxInputGroup, ComboboxItem, ComboboxItemIndicator, ComboboxLabel, ComboboxList, ComboboxPopup, ComboboxPortal, ComboboxPositioner, ComboboxRoot, ComboboxRow, ComboboxSeparator, ComboboxStatus, ComboboxTrigger, ComboboxValue, ComboboxContent, NumberFieldDecrement, NumberFieldGroup, NumberFieldIncrement, NumberFieldInput, NumberFieldRoot, NumberFieldScrubArea, NumberFieldScrubAreaCursor, } from './advanced-forms.js';
27
- export { Autocomplete, Slider, AutocompleteArrow, AutocompleteBackdrop, AutocompleteClear, AutocompleteCollection, AutocompleteEmpty, AutocompleteGroup, AutocompleteGroupLabel, AutocompleteIcon, AutocompleteInput, AutocompleteInputGroup, AutocompleteItem, AutocompleteList, AutocompletePopup, AutocompletePortal, AutocompletePositioner, AutocompleteRoot, AutocompleteRow, AutocompleteSeparator, AutocompleteStatus, AutocompleteTrigger, AutocompleteValue, AutocompleteContent, SliderControl, SliderIndicator, SliderLabel, SliderRoot, SliderThumb, SliderTrack, SliderValue, } from './input-extensions.js';
28
- export { DirectionProvider } from '@base-ui/react/direction-provider';
29
- export { Toggle, ToggleGroup, Toolbar, Menubar, ToolbarButton, ToolbarGroup, ToolbarInput, ToolbarLink, ToolbarRoot, ToolbarSeparator, } from './commands.js';
30
- export { ContextMenu, PreviewCard, ContextMenuArrow, ContextMenuBackdrop, ContextMenuCheckboxItem, ContextMenuCheckboxItemIndicator, ContextMenuGroup, ContextMenuGroupLabel, ContextMenuItem, ContextMenuLinkItem, ContextMenuPopup, ContextMenuPortal, ContextMenuPositioner, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuRadioItemIndicator, ContextMenuRoot, ContextMenuSeparator, ContextMenuSubmenuRoot, ContextMenuSubmenuTrigger, ContextMenuTrigger, ContextMenuContent, PreviewCardArrow, PreviewCardBackdrop, PreviewCardHandle, PreviewCardPopup, PreviewCardPortal, PreviewCardPositioner, PreviewCardRoot, PreviewCardTrigger, PreviewCardViewport, PreviewCardContent, } from './context-overlays.js';
43
+ export { Accordion, AccordionHeader, AccordionItem, AccordionPanel, AccordionRoot, AccordionTrigger, } from './accordion.js';
44
+ export { Collapsible, CollapsiblePanel, CollapsibleRoot, CollapsibleTrigger, } from './collapsible.js';
31
45
  export { NavigationMenu, NavigationMenuArrow, NavigationMenuBackdrop, NavigationMenuContent, NavigationMenuIcon, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuPopup, NavigationMenuPortal, NavigationMenuPositioner, NavigationMenuRoot, NavigationMenuTrigger, NavigationMenuViewport, } from './navigation-menu.js';
32
- export { OTPField, OTPFieldInput, OTPFieldRoot, OTPFieldSeparator, OTPFieldGroup, } from './otp-field.js';
46
+ export { Menubar } from './menubar.js';
47
+ export { Link } from './link.js';
48
+ export { Breadcrumbs, BreadcrumbsRoot, BreadcrumbsList, BreadcrumbsItem, BreadcrumbsLink, BreadcrumbsSeparator, BreadcrumbsCurrent, } from './breadcrumbs.js';
49
+ export { Pagination } from './pagination.js';
50
+ // Data display
51
+ export { Avatar, AvatarFallback, AvatarImage, AvatarRoot, AvatarStatus, } from './avatar.js';
52
+ export { Badge, StatusBadge, } from './badge.js';
53
+ export { Card, CardRoot, CardHeader, CardTitle, CardDescription, CardBody, CardFooter, } from './card.js';
54
+ export { Table, TableContainer, TableRoot, TableCaption, TableHead, TableBody, TableFoot, TableRow, TableHeaderCell, TableSortHeader, TableCell, TableTruncate, TableMessage, useTableSelection, } from './table.js';
55
+ export { CodeBlock } from './code.js';
56
+ export { SyntaxHighlighter, syntaxLanguages, } from './syntax-highlighter.js';
57
+ export { List, ListRoot, ListItem, ListContent, ListTitle, ListDescription, ListActions, } from './list.js';
58
+ // Structure
59
+ export { ScrollArea } from './scroll-area.js';
60
+ export { Separator } from './separator.js';
61
+ // Feedback
62
+ export { Progress, ProgressIndicator, ProgressLabel, ProgressRoot, ProgressTrack, ProgressValue, } from './progress.js';
63
+ export { Meter, MeterIndicator, MeterLabel, MeterRoot, MeterTrack, MeterValue, } from './meter.js';
33
64
  export { Toast, ToastAction, ToastArrow, ToastClose, ToastContent, ToastDescription, ToastPortal, ToastPositioner, ToastProvider, ToastRoot, ToastTitle, ToastViewport, ToastIcon, ToastText, } from './toast.js';
34
- export { FileUpload, } from './file-upload.js';
65
+ export { InlineMessage, InlineMessageRoot, InlineMessageIcon, InlineMessageContent, InlineMessageTitle, InlineMessageDescription, InlineMessageActions, } from './inline-message.js';
66
+ export { Spinner } from './spinner.js';
67
+ export { Skeleton } from './skeleton.js';
68
+ export { EmptyState, EmptyStateRoot, EmptyStateIcon, EmptyStateTitle, EmptyStateDescription, EmptyStateActions, } from './empty-state.js';
69
+ // Foundations
70
+ export { Container, Stack, Inline, Grid, GridItem, Surface, } from './layout.js';
71
+ export { Heading, Text, Prose } from './typography.js';
35
72
  export { Icon, iconNames } from './icon.js';
36
- export { FilterBar, FilterBarRoot, FilterBarControls, FilterBarField, FilterBarActions, FilterBarSummary, } from './filter-bar.js';
73
+ export { SizeProvider, } from './sizing.js';
74
+ export { DirectionProvider } from '@base-ui/react/direction-provider';
75
+ export { Slot } from './slot.js';
76
+ // Patterns
37
77
  export { AppShell, AppShellRoot, AppShellHeader, AppShellSidebar, AppShellContent, AppShellPage, AppShellFooter, AppShellLabel, AppShellLink, } from './app-shell.js';
38
- // Chart, DatePicker, Markdown, Tree and syntax highlighting need optional packages, so
39
- // they live on their own entry points: @surflane/ui/chart, /date-picker, /markdown, /tree
40
- // and /syntax-highlighting.
41
- export { SyntaxHighlighter, syntaxLanguages, } from './syntax-highlighter.js';
78
+ export { PageHeader } from './page-header.js';
79
+ export { FilterBar, FilterBarRoot, FilterBarControls, FilterBarField, FilterBarActions, FilterBarSummary, } from './filter-bar.js';
@@ -20,34 +20,6 @@ export declare const InlineMessage: {
20
20
  size?: import("./sizing.js").ComponentSize;
21
21
  } & React.RefAttributes<HTMLDivElement>>;
22
22
  };
23
- export declare const EmptyState: {
24
- Root: React.ForwardRefExoticComponent<Omit<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref">, "size"> & {
25
- size?: import("./sizing.js").ComponentSize;
26
- } & React.RefAttributes<HTMLDivElement>>;
27
- Icon: React.ForwardRefExoticComponent<Omit<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref">, "size"> & {
28
- size?: import("./sizing.js").ComponentSize;
29
- } & React.RefAttributes<HTMLDivElement>>;
30
- Title: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLHeadingElement>, HTMLHeadingElement>, "ref"> & {
31
- level?: 2 | 3 | 4 | 5 | 6;
32
- } & React.RefAttributes<HTMLHeadingElement>>;
33
- Description: React.ForwardRefExoticComponent<Omit<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLParagraphElement>, HTMLParagraphElement>, "ref">, "size"> & {
34
- size?: import("./sizing.js").ComponentSize;
35
- } & React.RefAttributes<HTMLParagraphElement>>;
36
- Actions: React.ForwardRefExoticComponent<Omit<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref">, "size"> & {
37
- size?: import("./sizing.js").ComponentSize;
38
- } & React.RefAttributes<HTMLDivElement>>;
39
- };
40
- export declare const EmptyStateRoot: React.ForwardRefExoticComponent<Omit<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref">, "size"> & {
41
- size?: import("./sizing.js").ComponentSize;
42
- } & React.RefAttributes<HTMLDivElement>>, EmptyStateIcon: React.ForwardRefExoticComponent<Omit<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref">, "size"> & {
43
- size?: import("./sizing.js").ComponentSize;
44
- } & React.RefAttributes<HTMLDivElement>>, EmptyStateTitle: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLHeadingElement>, HTMLHeadingElement>, "ref"> & {
45
- level?: 2 | 3 | 4 | 5 | 6;
46
- } & React.RefAttributes<HTMLHeadingElement>>, EmptyStateDescription: React.ForwardRefExoticComponent<Omit<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLParagraphElement>, HTMLParagraphElement>, "ref">, "size"> & {
47
- size?: import("./sizing.js").ComponentSize;
48
- } & React.RefAttributes<HTMLParagraphElement>>, EmptyStateActions: React.ForwardRefExoticComponent<Omit<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref">, "size"> & {
49
- size?: import("./sizing.js").ComponentSize;
50
- } & React.RefAttributes<HTMLDivElement>>;
51
23
  export declare const InlineMessageRoot: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
52
24
  tone?: StatusTone;
53
25
  } & React.RefAttributes<HTMLDivElement>>, InlineMessageIcon: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & {
@@ -2,14 +2,14 @@
2
2
  import { jsx as _jsx } from "react/jsx-runtime";
3
3
  import * as React from 'react';
4
4
  import { useToneTransition } from './tone-transition.js';
5
- import { part } from './parts.js';
5
+ import { part, cx } from './parts.js';
6
6
  import { StatusIcon } from './status.js';
7
7
  const MessageRoot = /* @__PURE__ */ React.forwardRef(function MessageRoot({ tone = 'neutral', className, ...props }, ref) {
8
8
  const elementRef = useToneTransition(tone, ref);
9
- return (_jsx("div", { ...props, ref: elementRef, "data-tone": tone, className: ['pui-message', className].filter(Boolean).join(' ') }));
9
+ return (_jsx("div", { ...props, ref: elementRef, "data-tone": tone, className: cx('pui-message', className) }));
10
10
  });
11
11
  const MessageIcon = /* @__PURE__ */ React.forwardRef(function MessageIcon({ tone = 'neutral', children, className, ...props }, ref) {
12
- return (_jsx("span", { ...props, ref: ref, "aria-hidden": 'true', className: ['pui-message-icon', className].filter(Boolean).join(' '), children: children ?? _jsx(StatusIcon, { tone: tone }) }));
12
+ return (_jsx("span", { ...props, ref: ref, "aria-hidden": 'true', className: cx('pui-message-icon', className), children: children ?? _jsx(StatusIcon, { tone: tone }) }));
13
13
  });
14
14
  export const InlineMessage = {
15
15
  Root: MessageRoot,
@@ -19,20 +19,5 @@ export const InlineMessage = {
19
19
  Description: /* @__PURE__ */ part('p', 'pui-message-description'),
20
20
  Actions: /* @__PURE__ */ part('div', 'pui-message-actions'),
21
21
  };
22
- const EmptyTitle = /* @__PURE__ */ React.forwardRef(function EmptyTitle({ level = 3, className, ...props }, ref) {
23
- return React.createElement(`h${level}`, {
24
- ...props,
25
- ref,
26
- className: ['pui-empty-title', className].filter(Boolean).join(' '),
27
- });
28
- });
29
- export const EmptyState = {
30
- Root: /* @__PURE__ */ part('div', 'pui-empty'),
31
- Icon: /* @__PURE__ */ part('div', 'pui-empty-icon'),
32
- Title: EmptyTitle,
33
- Description: /* @__PURE__ */ part('p', 'pui-empty-description'),
34
- Actions: /* @__PURE__ */ part('div', 'pui-empty-actions'),
35
- };
36
22
  // Flat names for React Server Components, which cannot dot into client exports.
37
- export const { Root: EmptyStateRoot, Icon: EmptyStateIcon, Title: EmptyStateTitle, Description: EmptyStateDescription, Actions: EmptyStateActions, } = EmptyState;
38
23
  export const { Root: InlineMessageRoot, Icon: InlineMessageIcon, Content: InlineMessageContent, Title: InlineMessageTitle, Description: InlineMessageDescription, Actions: InlineMessageActions, } = InlineMessage;
package/dist/input.js CHANGED
@@ -1,10 +1,10 @@
1
1
  'use client';
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import * as React from 'react';
4
+ import { cx } from './parts.js';
4
5
  import { useComponentSize } from './sizing.js';
5
6
  import { Input as BaseInput } from '@base-ui/react/input';
6
- const cx = (...v) => v.filter(Boolean).join(' ');
7
7
  export const Input = /* @__PURE__ */ React.forwardRef(function Input({ className, leadingIcon, wrapperClassName, size, ...props }, ref) {
8
8
  const scheme = useComponentSize(typeof size === 'string' ? size : undefined);
9
- return (_jsxs("span", { "data-ui-size": scheme, className: cx('pui-control', wrapperClassName), "data-leading-icon": leadingIcon ? '' : undefined, "data-disabled": props.disabled || undefined, children: [leadingIcon && (_jsx("span", { className: 'pui-control-icon control-icon', "aria-hidden": 'true', children: leadingIcon })), _jsx(BaseInput, { ...props, size: typeof size === 'number' ? size : undefined, ref: ref, className: cx('pui-input', className) })] }));
9
+ return (_jsxs("span", { "data-ui-size": scheme, className: cx('pui-control', wrapperClassName), "data-leading-icon": leadingIcon ? '' : undefined, "data-disabled": props.disabled || undefined, children: [leadingIcon && (_jsx("span", { className: 'pui-control-icon', "aria-hidden": 'true', children: leadingIcon })), _jsx(BaseInput, { ...props, size: typeof size === 'number' ? size : undefined, ref: ref, className: cx('pui-input', className) })] }));
10
10
  });
@@ -23,29 +23,11 @@ export declare const GridItem: React.ForwardRefExoticComponent<Omit<React.ClassA
23
23
  mediumSpan?: 1 | 2 | 3 | 4 | 5 | 6;
24
24
  smallSpan?: 1 | 2 | 3 | 4;
25
25
  }, "ref"> & React.RefAttributes<HTMLDivElement>>;
26
+ export type SurfaceKind = 'canvas' | 'subtle';
26
27
  export declare const Surface: React.ForwardRefExoticComponent<Omit<React.ClassAttributes<HTMLDivElement> & React.HTMLAttributes<HTMLDivElement> & {
27
- tone?: "canvas" | "subtle";
28
+ /** The background: subtle sits on the sheet, canvas matches it. */
29
+ surface?: SurfaceKind;
30
+ /** @deprecated Use surface; tone names a status color elsewhere. */
31
+ tone?: SurfaceKind;
28
32
  padding?: Space;
29
33
  }, "ref"> & React.RefAttributes<HTMLDivElement>>;
30
- export declare function Heading({ level, size, className, ...props }: React.HTMLAttributes<HTMLHeadingElement> & {
31
- level?: 1 | 2 | 3 | 4 | 5 | 6;
32
- size?: 'display' | 'title' | 'page' | 'section' | 'subsection' | 'workspace' | 'document';
33
- }): React.JSX.Element;
34
- export declare function Text({ as: Tag, variant, color, weight, className, ...props }: React.HTMLAttributes<HTMLElement> & {
35
- as?: 'p' | 'span' | 'div';
36
- variant?: 'body' | 'reading' | 'table' | 'caption' | 'label' | 'mono' | 'metric';
37
- color?: 'primary' | 'secondary' | 'muted';
38
- weight?: 'regular' | 'medium';
39
- }): React.JSX.Element;
40
- export declare function PageHeader({ as: Root, headingProps, actionsLabel, title, description, breadcrumb, actions, level, size, className, ...props }: Omit<React.ComponentProps<'div'>, 'title'> & {
41
- as?: 'div' | 'header';
42
- headingProps?: Omit<React.HTMLAttributes<HTMLHeadingElement>, 'children' | 'dangerouslySetInnerHTML'>;
43
- actionsLabel?: string;
44
- title: React.ReactNode;
45
- description?: React.ReactNode;
46
- breadcrumb?: React.ReactNode;
47
- actions?: React.ReactNode;
48
- level?: 1 | 2 | 3 | 4 | 5 | 6;
49
- size?: 'title' | 'page' | 'workspace' | 'document';
50
- }): React.JSX.Element;
51
- export declare const Prose: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
@@ -1,7 +1,7 @@
1
1
  'use client';
2
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
3
  import * as React from 'react';
4
- const cx = (...values) => values.filter(Boolean).join(' ');
4
+ import { cx } from './parts.js';
5
5
  const gapStyle = (gap, style) => ({
6
6
  ...(gap === undefined ? {} : { '--layout-gap': `var(--space-${gap})` }),
7
7
  ...style,
@@ -30,26 +30,11 @@ export const GridItem = /* @__PURE__ */ React.forwardRef(function GridItem({ spa
30
30
  ...style,
31
31
  } }));
32
32
  });
33
- export const Surface = /* @__PURE__ */ React.forwardRef(function Surface({ tone = 'subtle', padding, className, style, ...props }, ref) {
34
- return (_jsx("div", { ...props, ref: ref, className: cx('pui-surface', className), "data-tone": tone, style: {
33
+ export const Surface = /* @__PURE__ */ React.forwardRef(function Surface({ surface, tone, padding, className, style, ...props }, ref) {
34
+ return (_jsx("div", { ...props, ref: ref, className: cx('pui-surface', className), "data-surface": surface ?? tone ?? 'subtle', style: {
35
35
  ...(padding === undefined
36
36
  ? {}
37
37
  : { '--surface-padding': `var(--space-${padding})` }),
38
38
  ...style,
39
39
  } }));
40
40
  });
41
- export function Heading({ level = 2, size = 'section', className, ...props }) {
42
- const Tag = `h${level}`;
43
- return (_jsx(Tag, { ...props, className: cx('pui-heading', className), "data-size": size }));
44
- }
45
- export function Text({ as: Tag = 'p', variant = 'body', color = 'primary', weight = 'regular', className, ...props }) {
46
- return (_jsx(Tag, { ...props, className: cx('pui-text', className), "data-variant": variant, "data-color": color, "data-weight": weight }));
47
- }
48
- export function PageHeader({ as: Root = 'div', headingProps, actionsLabel, title, description, breadcrumb, actions, level = 1, size = 'title', className, ...props }) {
49
- return (_jsxs(Root, { ...props, className: cx('pui-page-header', className), children: [breadcrumb != null && breadcrumb !== false && breadcrumb !== '' && (_jsx("div", { className: 'pui-page-header-breadcrumb', children: breadcrumb })), _jsxs("div", { className: 'pui-page-header-content', children: [_jsxs("div", { className: 'pui-page-header-copy', children: [_jsx(Heading, { ...headingProps, level: level, size: size, children: title }), description != null &&
50
- description !== false &&
51
- description !== '' && (_jsx(Text, { color: 'secondary', className: 'pui-page-header-description', children: description }))] }), actions != null && actions !== false && actions !== '' && (_jsx("div", { className: 'pui-page-header-actions', role: actionsLabel ? 'group' : undefined, "aria-label": actionsLabel, children: actions }))] })] }));
52
- }
53
- export const Prose = /* @__PURE__ */ React.forwardRef(function Prose({ className, ...props }, ref) {
54
- return _jsx("div", { ...props, ref: ref, className: cx('pui-prose', className) });
55
- });
package/dist/link.d.ts ADDED
@@ -0,0 +1,6 @@
1
+ import * as React from 'react';
2
+ import { useRender } from '@base-ui/react/use-render';
3
+ export type LinkProps = Omit<useRender.ComponentProps<'a'>, 'ref'>;
4
+ /** A text link. Pass a router's link element as `render`, such as
5
+ * `<Link render={<NextLink href='/docs' />}>Docs</Link>`, to keep client navigation. */
6
+ export declare const Link: React.ForwardRefExoticComponent<LinkProps & React.RefAttributes<HTMLAnchorElement>>;
package/dist/link.js ADDED
@@ -0,0 +1,17 @@
1
+ 'use client';
2
+ import * as React from 'react';
3
+ import { useRender } from '@base-ui/react/use-render';
4
+ import { cx } from './parts.js';
5
+ /** A text link. Pass a router's link element as `render`, such as
6
+ * `<Link render={<NextLink href='/docs' />}>Docs</Link>`, to keep client navigation. */
7
+ export const Link = /* @__PURE__ */ React.forwardRef(function Link({ render, className, ...props }, ref) {
8
+ return useRender({
9
+ defaultTagName: 'a',
10
+ render,
11
+ ref,
12
+ props: {
13
+ ...props,
14
+ className: cx('pui-link', className),
15
+ },
16
+ });
17
+ });
package/dist/list.d.ts ADDED
@@ -0,0 +1,33 @@
1
+ import * as React from 'react';
2
+ declare const ListRoot: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLUListElement>, HTMLUListElement>, "ref"> & React.RefAttributes<HTMLUListElement>>;
3
+ declare const ListItem: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.LiHTMLAttributes<HTMLLIElement>, HTMLLIElement>, "ref"> & {
4
+ selected?: boolean;
5
+ } & React.RefAttributes<HTMLLIElement>>;
6
+ export declare const List: {
7
+ Root: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLUListElement>, HTMLUListElement>, "ref"> & React.RefAttributes<HTMLUListElement>>;
8
+ Item: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.LiHTMLAttributes<HTMLLIElement>, HTMLLIElement>, "ref"> & {
9
+ selected?: boolean;
10
+ } & React.RefAttributes<HTMLLIElement>>;
11
+ Content: React.ForwardRefExoticComponent<Omit<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref">, "size"> & {
12
+ size?: import("./sizing.js").ComponentSize;
13
+ } & React.RefAttributes<HTMLDivElement>>;
14
+ Title: React.ForwardRefExoticComponent<Omit<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref">, "size"> & {
15
+ size?: import("./sizing.js").ComponentSize;
16
+ } & React.RefAttributes<HTMLDivElement>>;
17
+ Description: React.ForwardRefExoticComponent<Omit<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLParagraphElement>, HTMLParagraphElement>, "ref">, "size"> & {
18
+ size?: import("./sizing.js").ComponentSize;
19
+ } & React.RefAttributes<HTMLParagraphElement>>;
20
+ Actions: React.ForwardRefExoticComponent<Omit<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref">, "size"> & {
21
+ size?: import("./sizing.js").ComponentSize;
22
+ } & React.RefAttributes<HTMLDivElement>>;
23
+ };
24
+ export { ListRoot, ListItem };
25
+ export declare const ListContent: React.ForwardRefExoticComponent<Omit<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref">, "size"> & {
26
+ size?: import("./sizing.js").ComponentSize;
27
+ } & React.RefAttributes<HTMLDivElement>>, ListTitle: React.ForwardRefExoticComponent<Omit<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref">, "size"> & {
28
+ size?: import("./sizing.js").ComponentSize;
29
+ } & React.RefAttributes<HTMLDivElement>>, ListDescription: React.ForwardRefExoticComponent<Omit<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLParagraphElement>, HTMLParagraphElement>, "ref">, "size"> & {
30
+ size?: import("./sizing.js").ComponentSize;
31
+ } & React.RefAttributes<HTMLParagraphElement>>, ListActions: React.ForwardRefExoticComponent<Omit<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref">, "size"> & {
32
+ size?: import("./sizing.js").ComponentSize;
33
+ } & React.RefAttributes<HTMLDivElement>>;
package/dist/list.js ADDED
@@ -0,0 +1,21 @@
1
+ 'use client';
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import * as React from 'react';
4
+ import { part, cx } from './parts.js';
5
+ const ListRoot = /* @__PURE__ */ React.forwardRef(function ListRoot({ className, ...props }, ref) {
6
+ return (_jsx("ul", { role: 'list', ...props, ref: ref, className: cx('pui-list', className) }));
7
+ });
8
+ const ListItem = /* @__PURE__ */ React.forwardRef(function ListItem({ selected, className, ...props }, ref) {
9
+ return (_jsx("li", { ...props, ref: ref, "data-selected": selected || undefined, className: cx('pui-list-item', className) }));
10
+ });
11
+ export const List = {
12
+ Root: ListRoot,
13
+ Item: ListItem,
14
+ Content: /* @__PURE__ */ part('div', 'pui-list-content'),
15
+ Title: /* @__PURE__ */ part('div', 'pui-list-title'),
16
+ Description: /* @__PURE__ */ part('p', 'pui-list-description'),
17
+ Actions: /* @__PURE__ */ part('div', 'pui-list-actions'),
18
+ };
19
+ // Flat names for React Server Components, which cannot dot into client exports.
20
+ export { ListRoot, ListItem };
21
+ export const { Content: ListContent, Title: ListTitle, Description: ListDescription, Actions: ListActions, } = List;
package/dist/markdown.js CHANGED
@@ -3,8 +3,9 @@ import { jsx as _jsx } from "react/jsx-runtime";
3
3
  import * as React from 'react';
4
4
  import ReactMarkdown from 'react-markdown';
5
5
  import remarkGfm from 'remark-gfm';
6
- import { CodeBlock } from './content.js';
7
- import { Table } from './data.js';
6
+ import { CodeBlock } from './code.js';
7
+ import { Table } from './table.js';
8
+ import { cx } from './parts.js';
8
9
  function text(node) {
9
10
  return 'value' in node
10
11
  ? node.value
@@ -116,7 +117,5 @@ export const Markdown = /* @__PURE__ */ React.forwardRef(function Markdown({ sou
116
117
  },
117
118
  };
118
119
  }, [headingLevel, label, codeWrap]);
119
- return (_jsx("div", { ...props, ref: ref, role: 'article', className: ['pui-prose pui-markdown', className]
120
- .filter(Boolean)
121
- .join(' '), "aria-label": label, children: _jsx(ReactMarkdown, { remarkPlugins: [remarkGfm], rehypePlugins: [headings], remarkRehypeOptions: { clobberPrefix: `${prefix}-` }, skipHtml: true, components: components, children: source }) }));
120
+ return (_jsx("div", { ...props, ref: ref, role: 'article', className: cx('pui-prose pui-markdown', className), "aria-label": label, children: _jsx(ReactMarkdown, { remarkPlugins: [remarkGfm], rehypePlugins: [headings], remarkRehypeOptions: { clobberPrefix: `${prefix}-` }, skipHtml: true, components: components, children: source }) }));
122
121
  });