@misoto22/kioku-ui 0.0.0 → 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.
- package/dist/Alert/Alert.js +1 -0
- package/dist/AlertDialog/AlertDialog.d.ts +8 -0
- package/dist/AlertDialog/AlertDialog.doc.d.ts +11 -0
- package/dist/AlertDialog/AlertDialog.doc.js +30 -0
- package/dist/AlertDialog/AlertDialog.js +16 -0
- package/dist/AlertDialog/index.d.ts +1 -0
- package/dist/AlertDialog/index.js +2 -0
- package/dist/AppShell/AppShell.d.ts +19 -0
- package/dist/AppShell/AppShell.doc.d.ts +11 -0
- package/dist/AppShell/AppShell.doc.js +36 -0
- package/dist/AppShell/AppShell.js +61 -0
- package/dist/AppShell/index.d.ts +1 -0
- package/dist/AppShell/index.js +2 -0
- package/dist/AspectRatio/AspectRatio.d.ts +11 -0
- package/dist/AspectRatio/AspectRatio.doc.d.ts +11 -0
- package/dist/AspectRatio/AspectRatio.doc.js +15 -0
- package/dist/AspectRatio/AspectRatio.js +30 -0
- package/dist/AspectRatio/index.d.ts +1 -0
- package/dist/AspectRatio/index.js +2 -0
- package/dist/AsyncState/AsyncState.js +14 -1
- package/dist/Avatar/Avatar.d.ts +14 -0
- package/dist/{components/Button.doc.d.ts → Avatar/Avatar.doc.d.ts} +1 -1
- package/dist/Avatar/Avatar.doc.js +18 -0
- package/dist/Avatar/Avatar.js +98 -0
- package/dist/Avatar/index.d.ts +1 -0
- package/dist/Avatar/index.js +2 -0
- package/dist/AvatarGroup/AvatarGroup.d.ts +20 -0
- package/dist/AvatarGroup/AvatarGroup.doc.d.ts +11 -0
- package/dist/AvatarGroup/AvatarGroup.doc.js +21 -0
- package/dist/AvatarGroup/AvatarGroup.js +99 -0
- package/dist/AvatarGroup/index.d.ts +1 -0
- package/dist/AvatarGroup/index.js +2 -0
- package/dist/Badge/Badge.js +1 -0
- package/dist/Banner/Banner.d.ts +14 -0
- package/dist/Banner/Banner.doc.d.ts +11 -0
- package/dist/Banner/Banner.doc.js +18 -0
- package/dist/Banner/Banner.js +85 -0
- package/dist/Banner/index.d.ts +1 -0
- package/dist/Banner/index.js +2 -0
- package/dist/Blockquote/Blockquote.d.ts +11 -0
- package/dist/Blockquote/Blockquote.doc.d.ts +11 -0
- package/dist/Blockquote/Blockquote.doc.js +15 -0
- package/dist/Blockquote/Blockquote.js +28 -0
- package/dist/Blockquote/index.d.ts +1 -0
- package/dist/Blockquote/index.js +2 -0
- package/dist/BottomSheet/BottomSheet.d.ts +13 -0
- package/dist/BottomSheet/BottomSheet.doc.d.ts +11 -0
- package/dist/BottomSheet/BottomSheet.doc.js +21 -0
- package/dist/BottomSheet/BottomSheet.js +68 -0
- package/dist/BottomSheet/index.d.ts +1 -0
- package/dist/BottomSheet/index.js +2 -0
- package/dist/BottomSheetSwitcher/BottomSheetSwitcher.d.ts +35 -0
- package/dist/BottomSheetSwitcher/BottomSheetSwitcher.doc.d.ts +11 -0
- package/dist/BottomSheetSwitcher/BottomSheetSwitcher.doc.js +30 -0
- package/dist/BottomSheetSwitcher/BottomSheetSwitcher.js +104 -0
- package/dist/BottomSheetSwitcher/index.d.ts +1 -0
- package/dist/BottomSheetSwitcher/index.js +2 -0
- package/dist/Box/Box.d.ts +53 -0
- package/dist/{components/Card.doc.d.ts → Box/Box.doc.d.ts} +1 -1
- package/dist/Box/Box.doc.js +21 -0
- package/dist/Box/Box.js +120 -0
- package/dist/Box/index.d.ts +1 -0
- package/dist/Box/index.js +2 -0
- package/dist/Breadcrumbs/Breadcrumbs.d.ts +17 -0
- package/dist/Breadcrumbs/Breadcrumbs.doc.d.ts +11 -0
- package/dist/Breadcrumbs/Breadcrumbs.doc.js +18 -0
- package/dist/Breadcrumbs/Breadcrumbs.js +64 -0
- package/dist/Breadcrumbs/index.d.ts +1 -0
- package/dist/Breadcrumbs/index.js +2 -0
- package/dist/Button/Button.js +19 -8
- package/dist/ButtonGroup/ButtonGroup.d.ts +13 -0
- package/dist/ButtonGroup/ButtonGroup.doc.d.ts +11 -0
- package/dist/ButtonGroup/ButtonGroup.doc.js +18 -0
- package/dist/ButtonGroup/ButtonGroup.js +52 -0
- package/dist/ButtonGroup/index.d.ts +1 -0
- package/dist/ButtonGroup/index.js +2 -0
- package/dist/Calendar/Calendar.d.ts +27 -0
- package/dist/Calendar/Calendar.doc.d.ts +11 -0
- package/dist/Calendar/Calendar.doc.js +33 -0
- package/dist/Calendar/Calendar.js +307 -0
- package/dist/Calendar/index.d.ts +1 -0
- package/dist/Calendar/index.js +2 -0
- package/dist/Card/Card.js +1 -1
- package/dist/CardFooter/CardFooter.js +1 -1
- package/dist/CardHeader/CardHeader.js +1 -1
- package/dist/Carousel/Carousel.d.ts +14 -0
- package/dist/Carousel/Carousel.doc.d.ts +11 -0
- package/dist/Carousel/Carousel.doc.js +21 -0
- package/dist/Carousel/Carousel.js +117 -0
- package/dist/Carousel/index.d.ts +1 -0
- package/dist/Carousel/index.js +2 -0
- package/dist/Chat/Chat.d.ts +83 -0
- package/dist/{components/Table.doc.d.ts → Chat/Chat.doc.d.ts} +11 -26
- package/dist/Chat/Chat.doc.js +99 -0
- package/dist/Chat/Chat.js +361 -0
- package/dist/Chat/index.d.ts +1 -0
- package/dist/Chat/index.js +2 -0
- package/dist/CheckboxInput/CheckboxInput.d.ts +24 -0
- package/dist/CheckboxInput/CheckboxInput.doc.d.ts +11 -0
- package/dist/CheckboxInput/CheckboxInput.doc.js +27 -0
- package/dist/CheckboxInput/CheckboxInput.js +173 -0
- package/dist/CheckboxInput/index.d.ts +1 -0
- package/dist/CheckboxInput/index.js +2 -0
- package/dist/CheckboxList/CheckboxList.d.ts +30 -0
- package/dist/CheckboxList/CheckboxList.doc.d.ts +11 -0
- package/dist/CheckboxList/CheckboxList.doc.js +24 -0
- package/dist/CheckboxList/CheckboxList.js +60 -0
- package/dist/CheckboxList/index.d.ts +1 -0
- package/dist/CheckboxList/index.js +2 -0
- package/dist/Citation/Citation.d.ts +13 -0
- package/dist/Citation/Citation.doc.d.ts +11 -0
- package/dist/Citation/Citation.doc.js +18 -0
- package/dist/Citation/Citation.js +36 -0
- package/dist/Citation/index.d.ts +1 -0
- package/dist/Citation/index.js +2 -0
- package/dist/ClickableCard/ClickableCard.d.ts +10 -0
- package/dist/ClickableCard/ClickableCard.doc.d.ts +11 -0
- package/dist/ClickableCard/ClickableCard.doc.js +12 -0
- package/dist/ClickableCard/ClickableCard.js +24 -0
- package/dist/ClickableCard/index.d.ts +1 -0
- package/dist/ClickableCard/index.js +2 -0
- package/dist/Code/Code.d.ts +5 -0
- package/dist/{components/Text.doc.d.ts → Code/Code.doc.d.ts} +1 -1
- package/dist/Code/Code.doc.js +12 -0
- package/dist/Code/Code.js +19 -0
- package/dist/Code/index.d.ts +1 -0
- package/dist/Code/index.js +2 -0
- package/dist/CodeBlock/CodeBlock.d.ts +19 -0
- package/dist/CodeBlock/CodeBlock.doc.d.ts +11 -0
- package/dist/CodeBlock/CodeBlock.doc.js +24 -0
- package/dist/CodeBlock/CodeBlock.js +88 -0
- package/dist/CodeBlock/index.d.ts +1 -0
- package/dist/CodeBlock/index.js +2 -0
- package/dist/Collapsible/Collapsible.d.ts +23 -0
- package/dist/Collapsible/Collapsible.doc.d.ts +11 -0
- package/dist/Collapsible/Collapsible.doc.js +24 -0
- package/dist/Collapsible/Collapsible.js +93 -0
- package/dist/Collapsible/index.d.ts +1 -0
- package/dist/Collapsible/index.js +2 -0
- package/dist/CommandPalette/CommandPalette.d.ts +24 -0
- package/dist/CommandPalette/CommandPalette.doc.d.ts +11 -0
- package/dist/CommandPalette/CommandPalette.doc.js +30 -0
- package/dist/CommandPalette/CommandPalette.js +182 -0
- package/dist/CommandPalette/index.d.ts +1 -0
- package/dist/CommandPalette/index.js +2 -0
- package/dist/ComplexSelector/ComplexSelector.d.ts +30 -0
- package/dist/ComplexSelector/ComplexSelector.doc.d.ts +11 -0
- package/dist/ComplexSelector/ComplexSelector.doc.js +24 -0
- package/dist/ComplexSelector/ComplexSelector.js +83 -0
- package/dist/ComplexSelector/index.d.ts +1 -0
- package/dist/ComplexSelector/index.js +2 -0
- package/dist/ContextMenu/ContextMenu.d.ts +13 -0
- package/dist/ContextMenu/ContextMenu.doc.d.ts +11 -0
- package/dist/ContextMenu/ContextMenu.doc.js +18 -0
- package/dist/ContextMenu/ContextMenu.js +52 -0
- package/dist/ContextMenu/index.d.ts +1 -0
- package/dist/ContextMenu/index.js +2 -0
- package/dist/DateInput/DateInput.d.ts +5 -0
- package/dist/DateInput/DateInput.doc.d.ts +11 -0
- package/dist/DateInput/DateInput.doc.js +18 -0
- package/dist/DateInput/DateInput.js +12 -0
- package/dist/DateInput/TemporalInput.d.ts +34 -0
- package/dist/DateInput/TemporalInput.js +169 -0
- package/dist/DateInput/index.d.ts +2 -0
- package/dist/DateInput/index.js +3 -0
- package/dist/DatePicker/DatePicker.d.ts +38 -0
- package/dist/{components/AsyncState.doc.d.ts → DatePicker/DatePicker.doc.d.ts} +1 -1
- package/dist/DatePicker/DatePicker.doc.js +31 -0
- package/dist/DatePicker/DatePicker.js +111 -0
- package/dist/DatePicker/index.d.ts +1 -0
- package/dist/DatePicker/index.js +2 -0
- package/dist/DateRangeInput/DateRangeInput.d.ts +34 -0
- package/dist/DateRangeInput/DateRangeInput.doc.d.ts +11 -0
- package/dist/DateRangeInput/DateRangeInput.doc.js +27 -0
- package/dist/DateRangeInput/DateRangeInput.js +108 -0
- package/dist/DateRangeInput/index.d.ts +1 -0
- package/dist/DateRangeInput/index.js +2 -0
- package/dist/DateTimeInput/DateTimeInput.d.ts +5 -0
- package/dist/DateTimeInput/DateTimeInput.doc.d.ts +11 -0
- package/dist/DateTimeInput/DateTimeInput.doc.js +18 -0
- package/dist/DateTimeInput/DateTimeInput.js +12 -0
- package/dist/DateTimeInput/index.d.ts +1 -0
- package/dist/DateTimeInput/index.js +2 -0
- package/dist/Dialog/Dialog.d.ts +23 -0
- package/dist/Dialog/Dialog.doc.d.ts +11 -0
- package/dist/Dialog/Dialog.doc.js +33 -0
- package/dist/Dialog/Dialog.js +152 -0
- package/dist/Dialog/index.d.ts +1 -0
- package/dist/Dialog/index.js +2 -0
- package/dist/DropdownMenu/DropdownMenu.d.ts +25 -0
- package/dist/DropdownMenu/DropdownMenu.doc.d.ts +22 -0
- package/dist/DropdownMenu/DropdownMenu.doc.js +47 -0
- package/dist/DropdownMenu/DropdownMenu.js +114 -0
- package/dist/DropdownMenu/index.d.ts +1 -0
- package/dist/DropdownMenu/index.js +2 -0
- package/dist/EmptyState/EmptyState.js +4 -4
- package/dist/Eyebrow/Eyebrow.d.ts +13 -0
- package/dist/Eyebrow/Eyebrow.doc.d.ts +11 -0
- package/dist/Eyebrow/Eyebrow.doc.js +15 -0
- package/dist/Eyebrow/Eyebrow.js +47 -0
- package/dist/Eyebrow/index.d.ts +1 -0
- package/dist/Eyebrow/index.js +2 -0
- package/dist/Field/Field.js +15 -7
- package/dist/FieldStatus/FieldStatus.d.ts +13 -0
- package/dist/FieldStatus/FieldStatus.doc.d.ts +11 -0
- package/dist/FieldStatus/FieldStatus.doc.js +15 -0
- package/dist/FieldStatus/FieldStatus.js +68 -0
- package/dist/FieldStatus/index.d.ts +1 -0
- package/dist/FieldStatus/index.js +2 -0
- package/dist/FileInput/FileInput.d.ts +10 -0
- package/dist/FileInput/FileInput.doc.d.ts +11 -0
- package/dist/FileInput/FileInput.doc.js +12 -0
- package/dist/FileInput/FileInput.js +74 -0
- package/dist/FileInput/index.d.ts +1 -0
- package/dist/FileInput/index.js +2 -0
- package/dist/FormLayout/FormLayout.d.ts +14 -0
- package/dist/FormLayout/FormLayout.doc.d.ts +11 -0
- package/dist/FormLayout/FormLayout.doc.js +18 -0
- package/dist/FormLayout/FormLayout.js +40 -0
- package/dist/FormLayout/index.d.ts +1 -0
- package/dist/FormLayout/index.js +2 -0
- package/dist/HStack/HStack.d.ts +15 -0
- package/dist/HStack/HStack.doc.d.ts +11 -0
- package/dist/HStack/HStack.doc.js +21 -0
- package/dist/{components/Stack.js → HStack/HStack.js} +47 -6
- package/dist/HStack/index.d.ts +1 -0
- package/dist/HStack/index.js +2 -0
- package/dist/Heading/Heading.js +4 -1
- package/dist/HoverCard/HoverCard.d.ts +31 -0
- package/dist/HoverCard/HoverCard.doc.d.ts +11 -0
- package/dist/HoverCard/HoverCard.doc.js +30 -0
- package/dist/HoverCard/HoverCard.js +77 -0
- package/dist/HoverCard/index.d.ts +1 -0
- package/dist/HoverCard/index.js +2 -0
- package/dist/Icon/Icon.d.ts +16 -0
- package/dist/{components/Grid.doc.d.ts → Icon/Icon.doc.d.ts} +1 -1
- package/dist/Icon/Icon.doc.js +18 -0
- package/dist/Icon/Icon.js +91 -0
- package/dist/Icon/index.d.ts +1 -0
- package/dist/Icon/index.js +2 -0
- package/dist/Indicator/Indicator.d.ts +15 -0
- package/dist/Indicator/Indicator.doc.d.ts +11 -0
- package/dist/Indicator/Indicator.doc.js +24 -0
- package/dist/Indicator/Indicator.js +90 -0
- package/dist/Indicator/index.d.ts +1 -0
- package/dist/Indicator/index.js +2 -0
- package/dist/InputGroup/InputGroup.d.ts +12 -0
- package/dist/InputGroup/InputGroup.doc.d.ts +11 -0
- package/dist/InputGroup/InputGroup.doc.js +18 -0
- package/dist/InputGroup/InputGroup.js +41 -0
- package/dist/InputGroup/index.d.ts +1 -0
- package/dist/InputGroup/index.js +2 -0
- package/dist/Item/Item.d.ts +12 -0
- package/dist/{components/Badge.doc.d.ts → Item/Item.doc.d.ts} +1 -1
- package/dist/Item/Item.doc.js +18 -0
- package/dist/Item/Item.js +50 -0
- package/dist/Item/index.d.ts +1 -0
- package/dist/Item/index.js +2 -0
- package/dist/Kbd/Kbd.d.ts +5 -0
- package/dist/Kbd/Kbd.doc.d.ts +11 -0
- package/dist/Kbd/Kbd.doc.js +12 -0
- package/dist/Kbd/Kbd.js +19 -0
- package/dist/Kbd/index.d.ts +1 -0
- package/dist/Kbd/index.js +2 -0
- package/dist/Layer/Layer.d.ts +19 -0
- package/dist/{components/Alert.doc.d.ts → Layer/Layer.doc.d.ts} +1 -1
- package/dist/Layer/Layer.doc.js +15 -0
- package/dist/Layer/Layer.js +32 -0
- package/dist/Layer/index.d.ts +1 -0
- package/dist/Layer/index.js +2 -0
- package/dist/Layout/Layout.d.ts +26 -0
- package/dist/Layout/Layout.doc.d.ts +11 -0
- package/dist/Layout/Layout.doc.js +36 -0
- package/dist/Layout/Layout.js +108 -0
- package/dist/Layout/index.d.ts +1 -0
- package/dist/Layout/index.js +2 -0
- package/dist/Lightbox/Lightbox.d.ts +14 -0
- package/dist/Lightbox/Lightbox.doc.d.ts +11 -0
- package/dist/Lightbox/Lightbox.doc.js +24 -0
- package/dist/Lightbox/Lightbox.js +80 -0
- package/dist/Lightbox/index.d.ts +1 -0
- package/dist/Lightbox/index.js +2 -0
- package/dist/List/List.d.ts +18 -0
- package/dist/List/List.doc.d.ts +22 -0
- package/dist/List/List.doc.js +26 -0
- package/dist/List/List.js +113 -0
- package/dist/List/index.d.ts +1 -0
- package/dist/List/index.js +2 -0
- package/dist/Markdown/Markdown.d.ts +11 -0
- package/dist/Markdown/Markdown.doc.d.ts +11 -0
- package/dist/Markdown/Markdown.doc.js +12 -0
- package/dist/Markdown/Markdown.js +90 -0
- package/dist/Markdown/index.d.ts +2 -0
- package/dist/Markdown/index.js +3 -0
- package/dist/Markdown/parse.d.ts +42 -0
- package/dist/Markdown/parse.js +128 -0
- package/dist/MetadataList/MetadataList.d.ts +18 -0
- package/dist/MetadataList/MetadataList.doc.d.ts +11 -0
- package/dist/MetadataList/MetadataList.doc.js +15 -0
- package/dist/MetadataList/MetadataList.js +93 -0
- package/dist/MetadataList/index.d.ts +1 -0
- package/dist/MetadataList/index.js +2 -0
- package/dist/MetricGrid/MetricGrid.js +5 -5
- package/dist/MobileNav/MobileNav.d.ts +13 -0
- package/dist/MobileNav/MobileNav.doc.d.ts +11 -0
- package/dist/MobileNav/MobileNav.doc.js +21 -0
- package/dist/MobileNav/MobileNav.js +126 -0
- package/dist/MobileNav/index.d.ts +1 -0
- package/dist/MobileNav/index.js +2 -0
- package/dist/MoreMenu/MoreMenu.d.ts +14 -0
- package/dist/MoreMenu/MoreMenu.doc.d.ts +11 -0
- package/dist/MoreMenu/MoreMenu.doc.js +21 -0
- package/dist/MoreMenu/MoreMenu.js +68 -0
- package/dist/MoreMenu/index.d.ts +1 -0
- package/dist/MoreMenu/index.js +2 -0
- package/dist/MultiSelector/MultiSelector.d.ts +17 -0
- package/dist/MultiSelector/MultiSelector.doc.d.ts +11 -0
- package/dist/MultiSelector/MultiSelector.doc.js +27 -0
- package/dist/MultiSelector/MultiSelector.js +58 -0
- package/dist/MultiSelector/index.d.ts +1 -0
- package/dist/MultiSelector/index.js +2 -0
- package/dist/NavIcon/NavIcon.d.ts +10 -0
- package/dist/NavIcon/NavIcon.doc.d.ts +11 -0
- package/dist/NavIcon/NavIcon.doc.js +12 -0
- package/dist/NavIcon/NavIcon.js +21 -0
- package/dist/NavIcon/index.d.ts +1 -0
- package/dist/NavIcon/index.js +2 -0
- package/dist/NavItem/NavItem.d.ts +13 -0
- package/dist/NavItem/NavItem.doc.d.ts +11 -0
- package/dist/NavItem/NavItem.doc.js +18 -0
- package/dist/NavItem/NavItem.js +62 -0
- package/dist/NavItem/index.d.ts +1 -0
- package/dist/NavItem/index.js +2 -0
- package/dist/NavMenu/NavMenu.d.ts +13 -0
- package/dist/NavMenu/NavMenu.doc.d.ts +11 -0
- package/dist/NavMenu/NavMenu.doc.js +18 -0
- package/dist/NavMenu/NavMenu.js +58 -0
- package/dist/NavMenu/index.d.ts +2 -0
- package/dist/NavMenu/index.js +5 -0
- package/dist/NavMenu/orientation.d.ts +4 -0
- package/dist/NavMenu/orientation.js +17 -0
- package/dist/NumberInput/NumberInput.d.ts +21 -0
- package/dist/NumberInput/NumberInput.doc.d.ts +11 -0
- package/dist/NumberInput/NumberInput.doc.js +18 -0
- package/dist/NumberInput/NumberInput.js +136 -0
- package/dist/NumberInput/index.d.ts +1 -0
- package/dist/NumberInput/index.js +2 -0
- package/dist/Numeral/Numeral.d.ts +10 -0
- package/dist/Numeral/Numeral.doc.d.ts +11 -0
- package/dist/Numeral/Numeral.doc.js +12 -0
- package/dist/Numeral/Numeral.js +24 -0
- package/dist/Numeral/index.d.ts +1 -0
- package/dist/Numeral/index.js +2 -0
- package/dist/Outline/Outline.d.ts +18 -0
- package/dist/Outline/Outline.doc.d.ts +11 -0
- package/dist/Outline/Outline.doc.js +18 -0
- package/dist/Outline/Outline.js +98 -0
- package/dist/Outline/index.d.ts +1 -0
- package/dist/Outline/index.js +2 -0
- package/dist/OverflowList/OverflowList.d.ts +19 -0
- package/dist/OverflowList/OverflowList.doc.d.ts +11 -0
- package/dist/OverflowList/OverflowList.doc.js +18 -0
- package/dist/OverflowList/OverflowList.js +81 -0
- package/dist/OverflowList/index.d.ts +1 -0
- package/dist/OverflowList/index.js +2 -0
- package/dist/Overlay/Overlay.d.ts +17 -0
- package/dist/Overlay/Overlay.doc.d.ts +11 -0
- package/dist/Overlay/Overlay.doc.js +30 -0
- package/dist/Overlay/Overlay.js +74 -0
- package/dist/Overlay/index.d.ts +1 -0
- package/dist/Overlay/index.js +2 -0
- package/dist/Pagination/Pagination.d.ts +14 -0
- package/dist/Pagination/Pagination.doc.d.ts +11 -0
- package/dist/Pagination/Pagination.doc.js +24 -0
- package/dist/Pagination/Pagination.js +128 -0
- package/dist/Pagination/index.d.ts +1 -0
- package/dist/Pagination/index.js +2 -0
- package/dist/Popover/Popover.d.ts +17 -0
- package/dist/Popover/Popover.doc.d.ts +11 -0
- package/dist/Popover/Popover.doc.js +30 -0
- package/dist/Popover/Popover.js +93 -0
- package/dist/Popover/index.d.ts +1 -0
- package/dist/Popover/index.js +2 -0
- package/dist/PowerSearch/PowerSearch.d.ts +22 -0
- package/dist/PowerSearch/PowerSearch.doc.d.ts +11 -0
- package/dist/PowerSearch/PowerSearch.doc.js +27 -0
- package/dist/PowerSearch/PowerSearch.js +108 -0
- package/dist/PowerSearch/index.d.ts +1 -0
- package/dist/PowerSearch/index.js +2 -0
- package/dist/ProgressBar/ProgressBar.d.ts +12 -0
- package/dist/ProgressBar/ProgressBar.doc.d.ts +11 -0
- package/dist/ProgressBar/ProgressBar.doc.js +18 -0
- package/dist/ProgressBar/ProgressBar.js +51 -0
- package/dist/ProgressBar/index.d.ts +1 -0
- package/dist/ProgressBar/index.js +2 -0
- package/dist/RadioList/RadioList.d.ts +30 -0
- package/dist/RadioList/RadioList.doc.d.ts +11 -0
- package/dist/RadioList/RadioList.doc.js +24 -0
- package/dist/RadioList/RadioList.js +130 -0
- package/dist/RadioList/index.d.ts +1 -0
- package/dist/RadioList/index.js +2 -0
- package/dist/Resizable/Resizable.d.ts +18 -0
- package/dist/Resizable/Resizable.doc.d.ts +11 -0
- package/dist/Resizable/Resizable.doc.js +33 -0
- package/dist/Resizable/Resizable.js +100 -0
- package/dist/Resizable/index.d.ts +1 -0
- package/dist/Resizable/index.js +2 -0
- package/dist/ResizeHandle/ResizeHandle.d.ts +23 -0
- package/dist/ResizeHandle/ResizeHandle.doc.d.ts +11 -0
- package/dist/ResizeHandle/ResizeHandle.doc.js +30 -0
- package/dist/ResizeHandle/ResizeHandle.js +118 -0
- package/dist/ResizeHandle/index.d.ts +1 -0
- package/dist/ResizeHandle/index.js +2 -0
- package/dist/SegmentedControl/SegmentedControl.js +4 -4
- package/dist/SelectableCard/SelectableCard.d.ts +25 -0
- package/dist/SelectableCard/SelectableCard.doc.d.ts +11 -0
- package/dist/SelectableCard/SelectableCard.doc.js +18 -0
- package/dist/SelectableCard/SelectableCard.js +178 -0
- package/dist/SelectableCard/index.d.ts +1 -0
- package/dist/SelectableCard/index.js +2 -0
- package/dist/Selector/Selector.d.ts +29 -0
- package/dist/Selector/Selector.doc.d.ts +11 -0
- package/dist/Selector/Selector.doc.js +24 -0
- package/dist/Selector/Selector.js +83 -0
- package/dist/Selector/index.d.ts +1 -0
- package/dist/Selector/index.js +2 -0
- package/dist/SideNav/SideNav.d.ts +15 -0
- package/dist/SideNav/SideNav.doc.d.ts +22 -0
- package/dist/SideNav/SideNav.doc.js +29 -0
- package/dist/SideNav/SideNav.js +51 -0
- package/dist/SideNav/index.d.ts +1 -0
- package/dist/SideNav/index.js +2 -0
- package/dist/Skeleton/Skeleton.doc.js +1 -1
- package/dist/Skeleton/Skeleton.js +1 -2
- package/dist/Slider/Slider.d.ts +27 -0
- package/dist/Slider/Slider.doc.d.ts +11 -0
- package/dist/Slider/Slider.doc.js +30 -0
- package/dist/Slider/Slider.js +133 -0
- package/dist/Slider/index.d.ts +1 -0
- package/dist/Slider/index.js +2 -0
- package/dist/Spinner/Spinner.js +5 -1
- package/dist/StatusDot/StatusDot.d.ts +2 -2
- package/dist/StatusDot/StatusDot.js +8 -0
- package/dist/Switch/Switch.d.ts +9 -0
- package/dist/Switch/Switch.doc.d.ts +11 -0
- package/dist/Switch/Switch.doc.js +21 -0
- package/dist/Switch/Switch.js +86 -0
- package/dist/Switch/index.d.ts +1 -0
- package/dist/Switch/index.js +2 -0
- package/dist/TabList/TabList.d.ts +25 -0
- package/dist/TabList/TabList.doc.d.ts +11 -0
- package/dist/TabList/TabList.doc.js +21 -0
- package/dist/TabList/TabList.js +79 -0
- package/dist/TabList/index.d.ts +1 -0
- package/dist/TabList/index.js +2 -0
- package/dist/Table/Table.d.ts +16 -6
- package/dist/Table/Table.doc.d.ts +12 -4
- package/dist/Table/Table.doc.js +9 -0
- package/dist/Table/Table.js +78 -14
- package/dist/Text/Text.js +1 -0
- package/dist/TextArea/TextArea.js +9 -4
- package/dist/TextInput/TextInput.js +4 -4
- package/dist/Thumbnail/Thumbnail.d.ts +15 -0
- package/dist/Thumbnail/Thumbnail.doc.d.ts +11 -0
- package/dist/Thumbnail/Thumbnail.doc.js +21 -0
- package/dist/Thumbnail/Thumbnail.js +95 -0
- package/dist/Thumbnail/index.d.ts +1 -0
- package/dist/Thumbnail/index.js +2 -0
- package/dist/TimeInput/TimeInput.d.ts +5 -0
- package/dist/TimeInput/TimeInput.doc.d.ts +11 -0
- package/dist/TimeInput/TimeInput.doc.js +18 -0
- package/dist/TimeInput/TimeInput.js +12 -0
- package/dist/TimeInput/index.d.ts +1 -0
- package/dist/TimeInput/index.js +2 -0
- package/dist/Timestamp/Timestamp.d.ts +11 -0
- package/dist/Timestamp/Timestamp.doc.d.ts +11 -0
- package/dist/Timestamp/Timestamp.doc.js +15 -0
- package/dist/Timestamp/Timestamp.js +33 -0
- package/dist/Timestamp/index.d.ts +1 -0
- package/dist/Timestamp/index.js +2 -0
- package/dist/Toast/Toast.d.ts +36 -0
- package/dist/Toast/Toast.doc.d.ts +22 -0
- package/dist/Toast/Toast.doc.js +35 -0
- package/dist/Toast/Toast.js +234 -0
- package/dist/Toast/index.d.ts +1 -0
- package/dist/Toast/index.js +2 -0
- package/dist/Toggle/Toggle.js +26 -8
- package/dist/ToggleButton/ToggleButton.d.ts +24 -0
- package/dist/ToggleButton/ToggleButton.doc.d.ts +11 -0
- package/dist/ToggleButton/ToggleButton.doc.js +21 -0
- package/dist/ToggleButton/ToggleButton.js +125 -0
- package/dist/ToggleButton/index.d.ts +1 -0
- package/dist/ToggleButton/index.js +2 -0
- package/dist/ToggleButtonGroup/ToggleButtonGroup.d.ts +37 -0
- package/dist/ToggleButtonGroup/ToggleButtonGroup.doc.d.ts +11 -0
- package/dist/ToggleButtonGroup/ToggleButtonGroup.doc.js +30 -0
- package/dist/ToggleButtonGroup/ToggleButtonGroup.js +84 -0
- package/dist/ToggleButtonGroup/index.d.ts +1 -0
- package/dist/ToggleButtonGroup/index.js +2 -0
- package/dist/Token/Token.d.ts +14 -0
- package/dist/Token/Token.doc.d.ts +11 -0
- package/dist/Token/Token.doc.js +21 -0
- package/dist/Token/Token.js +57 -0
- package/dist/Token/index.d.ts +1 -0
- package/dist/Token/index.js +2 -0
- package/dist/Tokenizer/Tokenizer.d.ts +16 -0
- package/dist/Tokenizer/Tokenizer.doc.d.ts +11 -0
- package/dist/Tokenizer/Tokenizer.doc.js +24 -0
- package/dist/Tokenizer/Tokenizer.js +92 -0
- package/dist/Tokenizer/index.d.ts +1 -0
- package/dist/Tokenizer/index.js +2 -0
- package/dist/Toolbar/Toolbar.d.ts +13 -0
- package/dist/Toolbar/Toolbar.doc.d.ts +11 -0
- package/dist/Toolbar/Toolbar.doc.js +18 -0
- package/dist/Toolbar/Toolbar.js +65 -0
- package/dist/Toolbar/index.d.ts +1 -0
- package/dist/Toolbar/index.js +2 -0
- package/dist/Tooltip/Tooltip.d.ts +25 -0
- package/dist/Tooltip/Tooltip.doc.d.ts +11 -0
- package/dist/Tooltip/Tooltip.doc.js +24 -0
- package/dist/Tooltip/Tooltip.js +110 -0
- package/dist/Tooltip/index.d.ts +1 -0
- package/dist/Tooltip/index.js +2 -0
- package/dist/TopNav/TopNav.d.ts +12 -0
- package/dist/TopNav/TopNav.doc.d.ts +11 -0
- package/dist/TopNav/TopNav.doc.js +18 -0
- package/dist/TopNav/TopNav.js +39 -0
- package/dist/TopNav/index.d.ts +1 -0
- package/dist/TopNav/index.js +2 -0
- package/dist/TopNavMegaMenu/TopNavMegaMenu.d.ts +30 -0
- package/dist/TopNavMegaMenu/TopNavMegaMenu.doc.d.ts +22 -0
- package/dist/TopNavMegaMenu/TopNavMegaMenu.doc.js +38 -0
- package/dist/TopNavMegaMenu/TopNavMegaMenu.js +134 -0
- package/dist/TopNavMegaMenu/index.d.ts +1 -0
- package/dist/TopNavMegaMenu/index.js +2 -0
- package/dist/TopNavMenu/TopNavMenu.d.ts +15 -0
- package/dist/TopNavMenu/TopNavMenu.doc.d.ts +11 -0
- package/dist/TopNavMenu/TopNavMenu.doc.js +21 -0
- package/dist/TopNavMenu/TopNavMenu.js +105 -0
- package/dist/TopNavMenu/index.d.ts +1 -0
- package/dist/TopNavMenu/index.js +2 -0
- package/dist/TreeList/TreeList.d.ts +21 -0
- package/dist/TreeList/TreeList.doc.d.ts +11 -0
- package/dist/TreeList/TreeList.doc.js +27 -0
- package/dist/TreeList/TreeList.js +146 -0
- package/dist/TreeList/index.d.ts +1 -0
- package/dist/TreeList/index.js +2 -0
- package/dist/Typeahead/Typeahead.d.ts +20 -0
- package/dist/Typeahead/Typeahead.doc.d.ts +11 -0
- package/dist/Typeahead/Typeahead.doc.js +24 -0
- package/dist/Typeahead/Typeahead.js +177 -0
- package/dist/Typeahead/index.d.ts +1 -0
- package/dist/Typeahead/index.js +2 -0
- package/dist/TypeaheadItem/TypeaheadItem.d.ts +15 -0
- package/dist/TypeaheadItem/TypeaheadItem.doc.d.ts +11 -0
- package/dist/TypeaheadItem/TypeaheadItem.doc.js +24 -0
- package/dist/TypeaheadItem/TypeaheadItem.js +84 -0
- package/dist/TypeaheadItem/index.d.ts +1 -0
- package/dist/TypeaheadItem/index.js +2 -0
- package/dist/VStack/VStack.d.ts +8 -0
- package/dist/VStack/VStack.doc.d.ts +11 -0
- package/dist/VStack/VStack.doc.js +15 -0
- package/dist/VStack/VStack.js +14 -0
- package/dist/VStack/index.d.ts +1 -0
- package/dist/VStack/index.js +2 -0
- package/dist/authoring.stylex.d.ts +7 -0
- package/dist/authoring.stylex.js +7 -0
- package/dist/docs/index.d.ts +91 -1
- package/dist/docs/index.js +92 -2
- package/dist/hooks/focusableSelector.d.ts +19 -0
- package/dist/hooks/focusableSelector.js +42 -0
- package/dist/hooks/index.d.ts +11 -0
- package/dist/hooks/index.js +12 -0
- package/dist/hooks/useAnchoredPosition.d.ts +33 -0
- package/dist/hooks/useAnchoredPosition.js +121 -0
- package/dist/hooks/useAnnounce.d.ts +7 -0
- package/dist/hooks/useAnnounce.js +34 -0
- package/dist/hooks/useClipboard.d.ts +10 -0
- package/dist/hooks/useClipboard.js +36 -0
- package/dist/hooks/useDevWarning.d.ts +5 -0
- package/dist/hooks/useDevWarning.js +20 -0
- package/dist/hooks/useFocusTrap.d.ts +9 -0
- package/dist/hooks/useFocusTrap.js +57 -0
- package/dist/hooks/useHotkeys.d.ts +12 -0
- package/dist/hooks/useHotkeys.js +57 -0
- package/dist/hooks/useIsomorphicLayoutEffect.d.ts +6 -0
- package/dist/hooks/useIsomorphicLayoutEffect.js +8 -0
- package/dist/hooks/useListFocus.d.ts +15 -0
- package/dist/hooks/useListFocus.js +61 -0
- package/dist/hooks/useMediaQuery.d.ts +5 -0
- package/dist/hooks/useMediaQuery.js +24 -0
- package/dist/hooks/useScrollLock.d.ts +5 -0
- package/dist/hooks/useScrollLock.js +29 -0
- package/dist/i18n/Internationalization.d.ts +28 -0
- package/dist/i18n/Internationalization.doc.d.ts +11 -0
- package/dist/i18n/Internationalization.doc.js +21 -0
- package/dist/i18n/Internationalization.js +52 -0
- package/dist/i18n/index.d.ts +2 -0
- package/dist/i18n/index.js +3 -0
- package/dist/i18n/messages.d.ts +29 -0
- package/dist/i18n/messages.js +29 -0
- package/dist/index.d.ts +93 -1
- package/dist/index.js +92 -0
- package/dist/navigation/LinkProvider.d.ts +17 -1
- package/dist/navigation/LinkProvider.js +39 -2
- package/dist/scrolling/index.d.ts +1 -0
- package/dist/scrolling/index.js +2 -0
- package/dist/scrolling/scrolling.d.ts +22 -0
- package/dist/scrolling/scrolling.js +26 -0
- package/dist/styles/global.stylex.d.ts +1 -0
- package/dist/styles/global.stylex.js +1 -0
- package/dist/styles/stylex.css +472 -33
- package/dist/theme/Theme.d.ts +24 -1
- package/dist/theme/Theme.js +46 -2
- package/dist/theme/index.d.ts +1 -1
- package/dist/tokens/contracts.d.ts +9 -2
- package/dist/tokens/contracts.js +9 -2
- package/dist/utils/clamp.d.ts +2 -0
- package/dist/utils/clamp.js +5 -0
- package/dist/utils/index.d.ts +3 -0
- package/dist/utils/index.js +4 -0
- package/dist/utils/mergeIds.d.ts +6 -0
- package/dist/utils/mergeIds.js +10 -0
- package/dist/utils/resolveInvalid.d.ts +6 -0
- package/dist/utils/resolveInvalid.js +9 -0
- package/package.json +1 -1
- package/src/Alert/Alert.tsx +1 -0
- package/src/AlertDialog/AlertDialog.doc.ts +22 -0
- package/src/AlertDialog/AlertDialog.tsx +18 -0
- package/src/AlertDialog/index.ts +1 -0
- package/src/AppShell/AppShell.doc.ts +30 -0
- package/src/AppShell/AppShell.tsx +93 -0
- package/src/AppShell/index.ts +1 -0
- package/src/AspectRatio/AspectRatio.doc.ts +15 -0
- package/src/AspectRatio/AspectRatio.tsx +47 -0
- package/src/AspectRatio/index.ts +1 -0
- package/src/AsyncState/AsyncState.tsx +42 -1
- package/src/Avatar/Avatar.doc.ts +16 -0
- package/src/Avatar/Avatar.tsx +100 -0
- package/src/Avatar/index.ts +1 -0
- package/src/AvatarGroup/AvatarGroup.doc.ts +17 -0
- package/src/AvatarGroup/AvatarGroup.tsx +124 -0
- package/src/AvatarGroup/index.ts +5 -0
- package/src/Badge/Badge.tsx +1 -0
- package/src/Banner/Banner.doc.ts +17 -0
- package/src/Banner/Banner.tsx +87 -0
- package/src/Banner/index.ts +1 -0
- package/src/Blockquote/Blockquote.doc.ts +15 -0
- package/src/Blockquote/Blockquote.tsx +55 -0
- package/src/Blockquote/index.ts +1 -0
- package/src/BottomSheet/BottomSheet.doc.ts +18 -0
- package/src/BottomSheet/BottomSheet.tsx +119 -0
- package/src/BottomSheet/index.ts +1 -0
- package/src/BottomSheetSwitcher/BottomSheetSwitcher.doc.ts +21 -0
- package/src/BottomSheetSwitcher/BottomSheetSwitcher.tsx +166 -0
- package/src/BottomSheetSwitcher/index.ts +5 -0
- package/src/Box/Box.doc.ts +15 -0
- package/src/Box/Box.tsx +98 -0
- package/src/Box/index.ts +1 -0
- package/src/Breadcrumbs/Breadcrumbs.doc.ts +18 -0
- package/src/Breadcrumbs/Breadcrumbs.tsx +124 -0
- package/src/Breadcrumbs/index.ts +5 -0
- package/src/Button/Button.tsx +36 -9
- package/src/ButtonGroup/ButtonGroup.doc.ts +19 -0
- package/src/ButtonGroup/ButtonGroup.tsx +52 -0
- package/src/ButtonGroup/index.ts +1 -0
- package/src/Calendar/Calendar.doc.ts +28 -0
- package/src/Calendar/Calendar.tsx +425 -0
- package/src/Calendar/index.ts +1 -0
- package/src/Card/Card.tsx +1 -1
- package/src/CardFooter/CardFooter.tsx +5 -5
- package/src/CardHeader/CardHeader.tsx +5 -5
- package/src/Carousel/Carousel.doc.ts +20 -0
- package/src/Carousel/Carousel.tsx +144 -0
- package/src/Carousel/index.ts +1 -0
- package/src/Chat/Chat.doc.ts +94 -0
- package/src/Chat/Chat.tsx +534 -0
- package/src/Chat/index.ts +19 -0
- package/src/CheckboxInput/CheckboxInput.doc.ts +26 -0
- package/src/CheckboxInput/CheckboxInput.tsx +276 -0
- package/src/CheckboxInput/index.ts +1 -0
- package/src/CheckboxList/CheckboxList.doc.ts +22 -0
- package/src/CheckboxList/CheckboxList.tsx +114 -0
- package/src/CheckboxList/index.ts +5 -0
- package/src/Citation/Citation.doc.ts +14 -0
- package/src/Citation/Citation.tsx +56 -0
- package/src/Citation/index.ts +1 -0
- package/src/ClickableCard/ClickableCard.doc.ts +10 -0
- package/src/ClickableCard/ClickableCard.tsx +79 -0
- package/src/ClickableCard/index.ts +1 -0
- package/src/Code/Code.doc.ts +10 -0
- package/src/Code/Code.tsx +31 -0
- package/src/Code/index.ts +1 -0
- package/src/CodeBlock/CodeBlock.doc.ts +21 -0
- package/src/CodeBlock/CodeBlock.tsx +122 -0
- package/src/CodeBlock/index.ts +1 -0
- package/src/Collapsible/Collapsible.doc.ts +18 -0
- package/src/Collapsible/Collapsible.tsx +165 -0
- package/src/Collapsible/index.ts +1 -0
- package/src/CommandPalette/CommandPalette.doc.ts +19 -0
- package/src/CommandPalette/CommandPalette.tsx +326 -0
- package/src/CommandPalette/index.ts +5 -0
- package/src/ComplexSelector/ComplexSelector.doc.ts +22 -0
- package/src/ComplexSelector/ComplexSelector.tsx +213 -0
- package/src/ComplexSelector/index.ts +5 -0
- package/src/ContextMenu/ContextMenu.doc.ts +18 -0
- package/src/ContextMenu/ContextMenu.tsx +61 -0
- package/src/ContextMenu/index.ts +1 -0
- package/src/DateInput/DateInput.doc.ts +16 -0
- package/src/DateInput/DateInput.tsx +9 -0
- package/src/DateInput/TemporalInput.tsx +305 -0
- package/src/DateInput/index.ts +6 -0
- package/src/DatePicker/DatePicker.doc.ts +21 -0
- package/src/DatePicker/DatePicker.tsx +138 -0
- package/src/DatePicker/index.ts +1 -0
- package/src/DateRangeInput/DateRangeInput.doc.ts +20 -0
- package/src/DateRangeInput/DateRangeInput.tsx +159 -0
- package/src/DateRangeInput/index.ts +5 -0
- package/src/DateTimeInput/DateTimeInput.doc.ts +16 -0
- package/src/DateTimeInput/DateTimeInput.tsx +9 -0
- package/src/DateTimeInput/index.ts +1 -0
- package/src/Dialog/Dialog.doc.ts +27 -0
- package/src/Dialog/Dialog.tsx +160 -0
- package/src/Dialog/index.ts +6 -0
- package/src/DropdownMenu/DropdownMenu.doc.ts +41 -0
- package/src/DropdownMenu/DropdownMenu.tsx +197 -0
- package/src/DropdownMenu/index.ts +6 -0
- package/src/EmptyState/EmptyState.tsx +29 -6
- package/src/Eyebrow/Eyebrow.doc.ts +16 -0
- package/src/Eyebrow/Eyebrow.tsx +56 -0
- package/src/Eyebrow/index.ts +1 -0
- package/src/Field/Field.tsx +25 -4
- package/src/FieldStatus/FieldStatus.doc.ts +15 -0
- package/src/FieldStatus/FieldStatus.tsx +72 -0
- package/src/FieldStatus/index.ts +1 -0
- package/src/FileInput/FileInput.doc.ts +12 -0
- package/src/FileInput/FileInput.tsx +186 -0
- package/src/FileInput/index.ts +1 -0
- package/src/FormLayout/FormLayout.doc.ts +20 -0
- package/src/FormLayout/FormLayout.tsx +69 -0
- package/src/FormLayout/index.ts +5 -0
- package/src/HStack/HStack.doc.ts +15 -0
- package/src/HStack/HStack.tsx +91 -0
- package/src/HStack/index.ts +6 -0
- package/src/Heading/Heading.tsx +17 -4
- package/src/HoverCard/HoverCard.doc.ts +31 -0
- package/src/HoverCard/HoverCard.tsx +121 -0
- package/src/HoverCard/index.ts +1 -0
- package/src/Icon/Icon.doc.ts +21 -0
- package/src/Icon/Icon.tsx +83 -0
- package/src/Icon/index.ts +1 -0
- package/src/Indicator/Indicator.doc.ts +21 -0
- package/src/Indicator/Indicator.tsx +99 -0
- package/src/Indicator/index.ts +1 -0
- package/src/InputGroup/InputGroup.doc.ts +23 -0
- package/src/InputGroup/InputGroup.tsx +73 -0
- package/src/InputGroup/index.ts +1 -0
- package/src/Item/Item.doc.ts +15 -0
- package/src/Item/Item.tsx +92 -0
- package/src/Item/index.ts +1 -0
- package/src/Kbd/Kbd.doc.ts +10 -0
- package/src/Kbd/Kbd.tsx +38 -0
- package/src/Kbd/index.ts +1 -0
- package/src/Layer/Layer.doc.ts +17 -0
- package/src/Layer/Layer.tsx +37 -0
- package/src/Layer/index.ts +1 -0
- package/src/Layout/Layout.doc.ts +33 -0
- package/src/Layout/Layout.tsx +190 -0
- package/src/Layout/index.ts +1 -0
- package/src/Lightbox/Lightbox.doc.ts +20 -0
- package/src/Lightbox/Lightbox.tsx +114 -0
- package/src/Lightbox/index.ts +1 -0
- package/src/List/List.doc.ts +27 -0
- package/src/List/List.tsx +94 -0
- package/src/List/index.ts +7 -0
- package/src/Markdown/Markdown.doc.ts +14 -0
- package/src/Markdown/Markdown.tsx +115 -0
- package/src/Markdown/index.ts +7 -0
- package/src/Markdown/parse.ts +135 -0
- package/src/MetadataList/MetadataList.doc.ts +15 -0
- package/src/MetadataList/MetadataList.tsx +87 -0
- package/src/MetadataList/index.ts +6 -0
- package/src/MetricGrid/MetricGrid.tsx +31 -9
- package/src/MobileNav/MobileNav.doc.ts +15 -0
- package/src/MobileNav/MobileNav.tsx +169 -0
- package/src/MobileNav/index.ts +1 -0
- package/src/MoreMenu/MoreMenu.doc.ts +19 -0
- package/src/MoreMenu/MoreMenu.tsx +67 -0
- package/src/MoreMenu/index.ts +1 -0
- package/src/MultiSelector/MultiSelector.doc.ts +23 -0
- package/src/MultiSelector/MultiSelector.tsx +89 -0
- package/src/MultiSelector/index.ts +1 -0
- package/src/NavIcon/NavIcon.doc.ts +10 -0
- package/src/NavIcon/NavIcon.tsx +45 -0
- package/src/NavIcon/index.ts +1 -0
- package/src/NavItem/NavItem.doc.ts +16 -0
- package/src/NavItem/NavItem.tsx +146 -0
- package/src/NavItem/index.ts +1 -0
- package/src/NavMenu/NavMenu.doc.ts +18 -0
- package/src/NavMenu/NavMenu.tsx +68 -0
- package/src/NavMenu/index.ts +4 -0
- package/src/NavMenu/orientation.ts +20 -0
- package/src/NumberInput/NumberInput.doc.ts +22 -0
- package/src/NumberInput/NumberInput.tsx +286 -0
- package/src/NumberInput/index.ts +1 -0
- package/src/Numeral/Numeral.doc.ts +10 -0
- package/src/Numeral/Numeral.tsx +34 -0
- package/src/Numeral/index.ts +1 -0
- package/src/Outline/Outline.doc.ts +14 -0
- package/src/Outline/Outline.tsx +124 -0
- package/src/Outline/index.ts +1 -0
- package/src/OverflowList/OverflowList.doc.ts +22 -0
- package/src/OverflowList/OverflowList.tsx +115 -0
- package/src/OverflowList/index.ts +5 -0
- package/src/Overlay/Overlay.doc.ts +23 -0
- package/src/Overlay/Overlay.tsx +122 -0
- package/src/Overlay/index.ts +1 -0
- package/src/Pagination/Pagination.doc.ts +28 -0
- package/src/Pagination/Pagination.tsx +259 -0
- package/src/Pagination/index.ts +1 -0
- package/src/Popover/Popover.doc.ts +27 -0
- package/src/Popover/Popover.tsx +122 -0
- package/src/Popover/index.ts +1 -0
- package/src/PowerSearch/PowerSearch.doc.ts +20 -0
- package/src/PowerSearch/PowerSearch.tsx +235 -0
- package/src/PowerSearch/index.ts +5 -0
- package/src/ProgressBar/ProgressBar.doc.ts +16 -0
- package/src/ProgressBar/ProgressBar.tsx +98 -0
- package/src/ProgressBar/index.ts +1 -0
- package/src/RadioList/RadioList.doc.ts +22 -0
- package/src/RadioList/RadioList.tsx +244 -0
- package/src/RadioList/index.ts +1 -0
- package/src/Resizable/Resizable.doc.ts +24 -0
- package/src/Resizable/Resizable.tsx +118 -0
- package/src/Resizable/index.ts +1 -0
- package/src/ResizeHandle/ResizeHandle.doc.ts +21 -0
- package/src/ResizeHandle/ResizeHandle.tsx +162 -0
- package/src/ResizeHandle/index.ts +5 -0
- package/src/SegmentedControl/SegmentedControl.tsx +36 -7
- package/src/SelectableCard/SelectableCard.doc.ts +16 -0
- package/src/SelectableCard/SelectableCard.tsx +252 -0
- package/src/SelectableCard/index.ts +1 -0
- package/src/Selector/Selector.doc.ts +22 -0
- package/src/Selector/Selector.tsx +206 -0
- package/src/Selector/index.ts +1 -0
- package/src/SideNav/SideNav.doc.ts +29 -0
- package/src/SideNav/SideNav.tsx +110 -0
- package/src/SideNav/index.ts +6 -0
- package/src/Skeleton/Skeleton.doc.ts +1 -1
- package/src/Skeleton/Skeleton.tsx +6 -13
- package/src/Slider/Slider.doc.ts +24 -0
- package/src/Slider/Slider.tsx +264 -0
- package/src/Slider/index.ts +1 -0
- package/src/Spinner/Spinner.tsx +15 -4
- package/src/StatusDot/StatusDot.tsx +13 -2
- package/src/Switch/Switch.doc.ts +19 -0
- package/src/Switch/Switch.tsx +152 -0
- package/src/Switch/index.ts +1 -0
- package/src/TabList/TabList.doc.ts +28 -0
- package/src/TabList/TabList.tsx +151 -0
- package/src/TabList/index.ts +1 -0
- package/src/Table/Table.doc.ts +15 -1
- package/src/Table/Table.tsx +95 -17
- package/src/Text/Text.tsx +1 -0
- package/src/TextArea/TextArea.tsx +21 -4
- package/src/TextInput/TextInput.tsx +11 -3
- package/src/Thumbnail/Thumbnail.doc.ts +20 -0
- package/src/Thumbnail/Thumbnail.tsx +94 -0
- package/src/Thumbnail/index.ts +5 -0
- package/src/TimeInput/TimeInput.doc.ts +16 -0
- package/src/TimeInput/TimeInput.tsx +9 -0
- package/src/TimeInput/index.ts +1 -0
- package/src/Timestamp/Timestamp.doc.ts +15 -0
- package/src/Timestamp/Timestamp.tsx +52 -0
- package/src/Timestamp/index.ts +1 -0
- package/src/Toast/Toast.doc.ts +35 -0
- package/src/Toast/Toast.tsx +271 -0
- package/src/Toast/index.ts +9 -0
- package/src/Toggle/Toggle.tsx +49 -23
- package/src/ToggleButton/ToggleButton.doc.ts +21 -0
- package/src/ToggleButton/ToggleButton.tsx +163 -0
- package/src/ToggleButton/index.ts +1 -0
- package/src/ToggleButtonGroup/ToggleButtonGroup.doc.ts +22 -0
- package/src/ToggleButtonGroup/ToggleButtonGroup.tsx +108 -0
- package/src/ToggleButtonGroup/index.ts +5 -0
- package/src/Token/Token.doc.ts +20 -0
- package/src/Token/Token.tsx +131 -0
- package/src/Token/index.ts +1 -0
- package/src/Tokenizer/Tokenizer.doc.ts +21 -0
- package/src/Tokenizer/Tokenizer.tsx +168 -0
- package/src/Tokenizer/index.ts +1 -0
- package/src/Toolbar/Toolbar.doc.ts +20 -0
- package/src/Toolbar/Toolbar.tsx +74 -0
- package/src/Toolbar/index.ts +1 -0
- package/src/Tooltip/Tooltip.doc.ts +22 -0
- package/src/Tooltip/Tooltip.tsx +166 -0
- package/src/Tooltip/index.ts +1 -0
- package/src/TopNav/TopNav.doc.ts +20 -0
- package/src/TopNav/TopNav.tsx +80 -0
- package/src/TopNav/index.ts +1 -0
- package/src/TopNavMegaMenu/TopNavMegaMenu.doc.ts +36 -0
- package/src/TopNavMegaMenu/TopNavMegaMenu.tsx +251 -0
- package/src/TopNavMegaMenu/index.ts +7 -0
- package/src/TopNavMenu/TopNavMenu.doc.ts +22 -0
- package/src/TopNavMenu/TopNavMenu.tsx +166 -0
- package/src/TopNavMenu/index.ts +1 -0
- package/src/TreeList/TreeList.doc.ts +20 -0
- package/src/TreeList/TreeList.tsx +265 -0
- package/src/TreeList/index.ts +1 -0
- package/src/Typeahead/Typeahead.doc.ts +22 -0
- package/src/Typeahead/Typeahead.tsx +312 -0
- package/src/Typeahead/index.ts +5 -0
- package/src/TypeaheadItem/TypeaheadItem.doc.ts +18 -0
- package/src/TypeaheadItem/TypeaheadItem.tsx +105 -0
- package/src/TypeaheadItem/index.ts +1 -0
- package/src/VStack/VStack.doc.ts +13 -0
- package/src/VStack/VStack.tsx +12 -0
- package/src/VStack/index.ts +1 -0
- package/src/authoring.stylex.ts +7 -0
- package/src/docs/index.ts +306 -0
- package/src/hooks/focusableSelector.ts +65 -0
- package/src/hooks/index.ts +31 -0
- package/src/hooks/useAnchoredPosition.ts +176 -0
- package/src/hooks/useAnnounce.ts +49 -0
- package/src/hooks/useClipboard.ts +48 -0
- package/src/hooks/useDevWarning.ts +24 -0
- package/src/hooks/useFocusTrap.ts +62 -0
- package/src/hooks/useHotkeys.ts +81 -0
- package/src/hooks/useIsomorphicLayoutEffect.ts +8 -0
- package/src/hooks/useListFocus.ts +75 -0
- package/src/hooks/useMediaQuery.ts +35 -0
- package/src/hooks/useScrollLock.ts +28 -0
- package/src/i18n/Internationalization.doc.ts +16 -0
- package/src/i18n/Internationalization.tsx +66 -0
- package/src/i18n/index.ts +8 -0
- package/src/i18n/messages.ts +51 -0
- package/src/index.ts +271 -0
- package/src/navigation/LinkProvider.tsx +58 -4
- package/src/scrolling/index.ts +1 -0
- package/src/scrolling/scrolling.ts +25 -0
- package/src/styles/global.stylex.ts +1 -0
- package/src/theme/Theme.tsx +66 -3
- package/src/theme/index.ts +1 -0
- package/src/tokens/contracts.ts +16 -2
- package/src/utils/clamp.ts +4 -0
- package/src/utils/index.ts +3 -0
- package/src/utils/mergeIds.ts +11 -0
- package/src/utils/resolveInvalid.ts +10 -0
- package/dist/components/Alert.d.ts +0 -7
- package/dist/components/Alert.doc.js +0 -15
- package/dist/components/Alert.js +0 -149
- package/dist/components/AsyncState.d.ts +0 -30
- package/dist/components/AsyncState.doc.js +0 -16
- package/dist/components/AsyncState.js +0 -36
- package/dist/components/Badge.d.ts +0 -10
- package/dist/components/Badge.doc.js +0 -12
- package/dist/components/Badge.js +0 -58
- package/dist/components/Button.d.ts +0 -18
- package/dist/components/Button.doc.js +0 -18
- package/dist/components/Button.js +0 -151
- package/dist/components/Card.d.ts +0 -6
- package/dist/components/Card.doc.js +0 -15
- package/dist/components/Card.js +0 -41
- package/dist/components/CardFooter.d.ts +0 -3
- package/dist/components/CardFooter.doc.d.ts +0 -11
- package/dist/components/CardFooter.doc.js +0 -12
- package/dist/components/CardFooter.js +0 -16
- package/dist/components/CardHeader.d.ts +0 -3
- package/dist/components/CardHeader.doc.d.ts +0 -11
- package/dist/components/CardHeader.doc.js +0 -12
- package/dist/components/CardHeader.js +0 -16
- package/dist/components/Center.d.ts +0 -3
- package/dist/components/Center.doc.d.ts +0 -11
- package/dist/components/Center.doc.js +0 -12
- package/dist/components/Center.js +0 -15
- package/dist/components/Divider.d.ts +0 -3
- package/dist/components/Divider.doc.d.ts +0 -11
- package/dist/components/Divider.doc.js +0 -12
- package/dist/components/Divider.js +0 -12
- package/dist/components/EmptyState.d.ts +0 -11
- package/dist/components/EmptyState.doc.d.ts +0 -16
- package/dist/components/EmptyState.doc.js +0 -25
- package/dist/components/EmptyState.js +0 -55
- package/dist/components/Field.d.ts +0 -21
- package/dist/components/Field.doc.d.ts +0 -16
- package/dist/components/Field.doc.js +0 -28
- package/dist/components/Field.js +0 -117
- package/dist/components/Grid.d.ts +0 -7
- package/dist/components/Grid.doc.js +0 -15
- package/dist/components/Grid.js +0 -76
- package/dist/components/Heading.d.ts +0 -293
- package/dist/components/Heading.doc.d.ts +0 -16
- package/dist/components/Heading.doc.js +0 -19
- package/dist/components/Heading.js +0 -46
- package/dist/components/IconButton.d.ts +0 -9
- package/dist/components/IconButton.doc.d.ts +0 -16
- package/dist/components/IconButton.doc.js +0 -22
- package/dist/components/IconButton.js +0 -11
- package/dist/components/MetricGrid.d.ts +0 -10
- package/dist/components/MetricGrid.doc.d.ts +0 -12
- package/dist/components/MetricGrid.doc.js +0 -13
- package/dist/components/MetricGrid.js +0 -37
- package/dist/components/Section.d.ts +0 -6
- package/dist/components/Section.doc.d.ts +0 -11
- package/dist/components/Section.doc.js +0 -12
- package/dist/components/Section.js +0 -49
- package/dist/components/SegmentedControl.d.ts +0 -31
- package/dist/components/SegmentedControl.doc.d.ts +0 -16
- package/dist/components/SegmentedControl.doc.js +0 -34
- package/dist/components/SegmentedControl.js +0 -108
- package/dist/components/Skeleton.d.ts +0 -5
- package/dist/components/Skeleton.doc.d.ts +0 -11
- package/dist/components/Skeleton.doc.js +0 -12
- package/dist/components/Skeleton.js +0 -20
- package/dist/components/Spinner.d.ts +0 -6
- package/dist/components/Spinner.doc.d.ts +0 -12
- package/dist/components/Spinner.doc.js +0 -13
- package/dist/components/Spinner.js +0 -25
- package/dist/components/Stack.d.ts +0 -7
- package/dist/components/Stack.doc.d.ts +0 -11
- package/dist/components/Stack.doc.js +0 -15
- package/dist/components/StatusDot.d.ts +0 -8
- package/dist/components/StatusDot.doc.d.ts +0 -16
- package/dist/components/StatusDot.doc.js +0 -16
- package/dist/components/StatusDot.js +0 -46
- package/dist/components/Table.d.ts +0 -20
- package/dist/components/Table.doc.js +0 -94
- package/dist/components/Table.js +0 -205
- package/dist/components/Text.d.ts +0 -7
- package/dist/components/Text.doc.js +0 -15
- package/dist/components/Text.js +0 -50
- package/dist/components/TextArea.d.ts +0 -16
- package/dist/components/TextArea.doc.d.ts +0 -11
- package/dist/components/TextArea.doc.js +0 -30
- package/dist/components/TextArea.js +0 -47
- package/dist/components/TextInput.d.ts +0 -16
- package/dist/components/TextInput.doc.d.ts +0 -11
- package/dist/components/TextInput.doc.js +0 -30
- package/dist/components/TextInput.js +0 -49
- package/dist/components/Toggle.d.ts +0 -16
- package/dist/components/Toggle.doc.d.ts +0 -11
- package/dist/components/Toggle.doc.js +0 -21
- package/dist/components/Toggle.js +0 -64
- package/dist/components/VisuallyHidden.d.ts +0 -3
- package/dist/components/VisuallyHidden.doc.d.ts +0 -11
- package/dist/components/VisuallyHidden.doc.js +0 -12
- package/dist/components/VisuallyHidden.js +0 -15
- package/dist/components/index.d.ts +0 -27
- package/dist/components/index.js +0 -28
package/src/Spinner/Spinner.tsx
CHANGED
|
@@ -7,7 +7,14 @@ const spin = stylex.keyframes({
|
|
|
7
7
|
to: {transform: 'rotate(360deg)'},
|
|
8
8
|
});
|
|
9
9
|
|
|
10
|
+
// Two hairlines wide. At fourteen pixels a one-pixel ring is a thread: it
|
|
11
|
+
// reads as a control that failed to draw rather than as something turning.
|
|
12
|
+
const ringWidth = `calc(2 * ${semanticTokens.borderWidth})`;
|
|
13
|
+
|
|
10
14
|
const styles = stylex.create({
|
|
15
|
+
// The ring at rest is the hairline rank; the arc that moves is full ink.
|
|
16
|
+
// The accent's jobs are the focus ring, the selected mark and a link on
|
|
17
|
+
// hover, and a spinner is none of the three.
|
|
11
18
|
spinner: {
|
|
12
19
|
animationDuration: semanticTokens.durationSlow,
|
|
13
20
|
animationIterationCount: 'infinite',
|
|
@@ -15,12 +22,16 @@ const styles = stylex.create({
|
|
|
15
22
|
default: spin,
|
|
16
23
|
'@media (prefers-reduced-motion: reduce)': 'none',
|
|
17
24
|
},
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
25
|
+
// Linear, and deliberately not the standard easing. An easing curve
|
|
26
|
+
// describes a move from somewhere to somewhere; this ring never arrives,
|
|
27
|
+
// so an ease-out spends the first third of every turn racing and the last
|
|
28
|
+
// third drifting, then snaps back to the start.
|
|
29
|
+
animationTimingFunction: 'linear',
|
|
30
|
+
borderBlockStartColor: semanticTokens.colorText,
|
|
31
|
+
borderColor: semanticTokens.borderDefault,
|
|
21
32
|
borderRadius: semanticTokens.radiusFull,
|
|
22
33
|
borderStyle: semanticTokens.borderStyle,
|
|
23
|
-
borderWidth:
|
|
34
|
+
borderWidth: ringWidth,
|
|
24
35
|
display: 'inline-block',
|
|
25
36
|
height: semanticTokens.spacingLg,
|
|
26
37
|
width: semanticTokens.spacingLg,
|
|
@@ -2,7 +2,7 @@ import * as stylex from '@stylexjs/stylex';
|
|
|
2
2
|
import type {HTMLAttributes} from 'react';
|
|
3
3
|
|
|
4
4
|
import {semanticTokens} from '../authoring.stylex.js';
|
|
5
|
-
import type {
|
|
5
|
+
import type {BadgeTone} from '../Badge/index.js';
|
|
6
6
|
|
|
7
7
|
const styles = stylex.create({
|
|
8
8
|
base: {
|
|
@@ -11,6 +11,17 @@ const styles = stylex.create({
|
|
|
11
11
|
height: semanticTokens.spacingSm,
|
|
12
12
|
width: semanticTokens.spacingSm,
|
|
13
13
|
},
|
|
14
|
+
// Hollow, and the only tone that is. The four status tones each say a thing
|
|
15
|
+
// has happened; neutral says nothing has happened yet — queued, idle, not
|
|
16
|
+
// run. A filled dot in the third ink would read as a fifth status, so this
|
|
17
|
+
// one is a ring: present, but not reporting.
|
|
18
|
+
neutral: {
|
|
19
|
+
backgroundColor: 'transparent',
|
|
20
|
+
borderColor: semanticTokens.colorTextMuted,
|
|
21
|
+
borderStyle: semanticTokens.borderStyle,
|
|
22
|
+
borderWidth: `calc(1.5 * ${semanticTokens.borderWidth})`,
|
|
23
|
+
boxSizing: 'border-box',
|
|
24
|
+
},
|
|
14
25
|
info: {backgroundColor: semanticTokens.statusInfoText},
|
|
15
26
|
success: {backgroundColor: semanticTokens.statusSuccessText},
|
|
16
27
|
warning: {backgroundColor: semanticTokens.statusWarningText},
|
|
@@ -23,7 +34,7 @@ export interface StatusDotProps extends Omit<
|
|
|
23
34
|
'aria-label' | 'children' | 'className' | 'role'
|
|
24
35
|
> {
|
|
25
36
|
readonly 'aria-label': string;
|
|
26
|
-
readonly tone?:
|
|
37
|
+
readonly tone?: BadgeTone;
|
|
27
38
|
}
|
|
28
39
|
|
|
29
40
|
export function StatusDot({tone = 'info', ...props}: StatusDotProps) {
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type {ComponentDoc} from '../docs/types.js';
|
|
2
|
+
|
|
3
|
+
export const switchDoc = {
|
|
4
|
+
name: 'Switch',
|
|
5
|
+
description: 'Turns a setting on or off, taking effect immediately.',
|
|
6
|
+
props: [
|
|
7
|
+
{
|
|
8
|
+
name: 'defaultPressed',
|
|
9
|
+
description: 'Sets the initial uncontrolled state.',
|
|
10
|
+
},
|
|
11
|
+
{name: 'disabled', description: 'Blocks activation.'},
|
|
12
|
+
{name: 'onPressedChange', description: 'Receives the next state.'},
|
|
13
|
+
{name: 'pressed', description: 'Controls the current state.'},
|
|
14
|
+
],
|
|
15
|
+
inheritedProps: ['ToggleProps, the same prop contract Toggle accepts'],
|
|
16
|
+
example:
|
|
17
|
+
'<Switch onPressedChange={setLive} pressed={live}>Live updates</Switch>',
|
|
18
|
+
storyId: 'core-switch--default',
|
|
19
|
+
} satisfies ComponentDoc;
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
import * as stylex from '@stylexjs/stylex';
|
|
2
|
+
import {useState} from 'react';
|
|
3
|
+
|
|
4
|
+
import {semanticTokens} from '../authoring.stylex.js';
|
|
5
|
+
import type {ToggleProps} from '../Toggle/index.js';
|
|
6
|
+
|
|
7
|
+
// The console's switch, in tokens. Its proportions are the point: a track as
|
|
8
|
+
// tall as one spacing step, a knob inset by a hairline on each side, and a
|
|
9
|
+
// travel of exactly the difference. Nothing here is a literal, so the control
|
|
10
|
+
// keeps its proportions when density moves it.
|
|
11
|
+
const trackHeight = semanticTokens.spacingLg;
|
|
12
|
+
const trackWidth = semanticTokens.sizeControlMd;
|
|
13
|
+
const knobInset = `calc(${semanticTokens.borderWidth} * 2)`;
|
|
14
|
+
const knobSize = `calc(${trackHeight} - ${knobInset} * 2)`;
|
|
15
|
+
const knobTravel = `calc(${trackWidth} - ${trackHeight})`;
|
|
16
|
+
|
|
17
|
+
const styles = stylex.create({
|
|
18
|
+
control: {
|
|
19
|
+
alignItems: 'center',
|
|
20
|
+
backgroundColor: 'transparent',
|
|
21
|
+
borderColor: 'transparent',
|
|
22
|
+
borderRadius: semanticTokens.radiusElement,
|
|
23
|
+
borderStyle: semanticTokens.borderStyle,
|
|
24
|
+
borderWidth: semanticTokens.borderWidth,
|
|
25
|
+
color: semanticTokens.colorText,
|
|
26
|
+
cursor: 'pointer',
|
|
27
|
+
display: 'inline-flex',
|
|
28
|
+
fontFamily: semanticTokens.fontFamilyBody,
|
|
29
|
+
fontSize: semanticTokens.fontSizeMd,
|
|
30
|
+
gap: semanticTokens.spacingSm,
|
|
31
|
+
justifyContent: 'flex-start',
|
|
32
|
+
letterSpacing: semanticTokens.letterSpacingLabel,
|
|
33
|
+
lineHeight: semanticTokens.lineHeightBody,
|
|
34
|
+
minHeight: semanticTokens.sizeHitTarget,
|
|
35
|
+
minWidth: semanticTokens.sizeHitTarget,
|
|
36
|
+
paddingBlock: semanticTokens.spacingXs,
|
|
37
|
+
paddingInline: semanticTokens.spacingXs,
|
|
38
|
+
transitionDuration: semanticTokens.durationFast,
|
|
39
|
+
transitionProperty: 'background-color, color',
|
|
40
|
+
transitionTimingFunction: semanticTokens.easingStandard,
|
|
41
|
+
':active:not(:disabled)': {
|
|
42
|
+
backgroundImage: `linear-gradient(${semanticTokens.colorOverlayActive}, ${semanticTokens.colorOverlayActive})`,
|
|
43
|
+
},
|
|
44
|
+
':disabled': {color: semanticTokens.colorDisabledText, cursor: 'default'},
|
|
45
|
+
':focus-visible': {
|
|
46
|
+
outlineColor: semanticTokens.colorFocus,
|
|
47
|
+
outlineOffset: semanticTokens.focusOffset,
|
|
48
|
+
outlineStyle: semanticTokens.borderStyle,
|
|
49
|
+
outlineWidth: semanticTokens.focusWidth,
|
|
50
|
+
},
|
|
51
|
+
':hover:not(:disabled):not(:active)': {
|
|
52
|
+
backgroundImage: `linear-gradient(${semanticTokens.colorOverlayHover}, ${semanticTokens.colorOverlayHover})`,
|
|
53
|
+
},
|
|
54
|
+
},
|
|
55
|
+
// No border. The track is a solid block that changes colour, not a small
|
|
56
|
+
// input box with something inside it — an outlined track reads as a field,
|
|
57
|
+
// and at 14px a field reads as a mistake.
|
|
58
|
+
track: {
|
|
59
|
+
alignItems: 'center',
|
|
60
|
+
backgroundColor: semanticTokens.borderStrong,
|
|
61
|
+
borderRadius: semanticTokens.radiusElement,
|
|
62
|
+
boxSizing: 'border-box',
|
|
63
|
+
display: 'inline-flex',
|
|
64
|
+
flexShrink: 0,
|
|
65
|
+
height: trackHeight,
|
|
66
|
+
justifyContent: 'flex-start',
|
|
67
|
+
padding: knobInset,
|
|
68
|
+
transitionDuration: semanticTokens.durationFast,
|
|
69
|
+
transitionProperty: 'background-color',
|
|
70
|
+
transitionTimingFunction: semanticTokens.easingStandard,
|
|
71
|
+
width: trackWidth,
|
|
72
|
+
},
|
|
73
|
+
// On is ink. "In effect" is the same colour as the seal on the primary
|
|
74
|
+
// button, and for the same reason: the accent is reserved for thin marks.
|
|
75
|
+
trackOn: {backgroundColor: semanticTokens.colorText},
|
|
76
|
+
trackDisabled: {backgroundColor: semanticTokens.colorDisabledSurface},
|
|
77
|
+
// A round knob travelling inside a squared track reads as a physical switch;
|
|
78
|
+
// two capsules read as a widget.
|
|
79
|
+
knob: {
|
|
80
|
+
backgroundColor: semanticTokens.colorSurface,
|
|
81
|
+
borderRadius: semanticTokens.radiusFull,
|
|
82
|
+
height: knobSize,
|
|
83
|
+
insetInlineStart: 0,
|
|
84
|
+
position: 'relative',
|
|
85
|
+
transitionDuration: semanticTokens.durationModerate,
|
|
86
|
+
transitionProperty: 'inset-inline-start',
|
|
87
|
+
transitionTimingFunction: semanticTokens.easingStandard,
|
|
88
|
+
width: knobSize,
|
|
89
|
+
},
|
|
90
|
+
knobOn: {insetInlineStart: knobTravel},
|
|
91
|
+
knobDisabled: {backgroundColor: semanticTokens.colorDisabledText},
|
|
92
|
+
});
|
|
93
|
+
|
|
94
|
+
/** Props for a control that applies its change immediately. */
|
|
95
|
+
export type SwitchProps = ToggleProps;
|
|
96
|
+
|
|
97
|
+
/**
|
|
98
|
+
* Turns a setting on or off, taking effect at once. Use `Toggle` when the
|
|
99
|
+
* control expresses a pressed state inside a toolbar instead of a setting,
|
|
100
|
+
* and a `CheckboxInput` when the value is only submitted with a form.
|
|
101
|
+
*/
|
|
102
|
+
export function Switch({
|
|
103
|
+
children,
|
|
104
|
+
defaultPressed = false,
|
|
105
|
+
disabled,
|
|
106
|
+
onClick,
|
|
107
|
+
onPressedChange,
|
|
108
|
+
pressed,
|
|
109
|
+
type = 'button',
|
|
110
|
+
...props
|
|
111
|
+
}: SwitchProps) {
|
|
112
|
+
const [internalPressed, setInternalPressed] = useState(defaultPressed);
|
|
113
|
+
const isPressed = pressed ?? internalPressed;
|
|
114
|
+
|
|
115
|
+
return (
|
|
116
|
+
<button
|
|
117
|
+
{...props}
|
|
118
|
+
aria-checked={isPressed}
|
|
119
|
+
disabled={disabled}
|
|
120
|
+
onClick={(event) => {
|
|
121
|
+
const nextPressed = !isPressed;
|
|
122
|
+
if (pressed === undefined) {
|
|
123
|
+
setInternalPressed(nextPressed);
|
|
124
|
+
}
|
|
125
|
+
onPressedChange?.(nextPressed);
|
|
126
|
+
onClick?.(event);
|
|
127
|
+
}}
|
|
128
|
+
role="switch"
|
|
129
|
+
{...stylex.props(styles.control)}
|
|
130
|
+
type={type}
|
|
131
|
+
>
|
|
132
|
+
<span
|
|
133
|
+
aria-hidden="true"
|
|
134
|
+
{...stylex.props(
|
|
135
|
+
styles.track,
|
|
136
|
+
isPressed ? styles.trackOn : undefined,
|
|
137
|
+
disabled ? styles.trackDisabled : undefined,
|
|
138
|
+
)}
|
|
139
|
+
>
|
|
140
|
+
<span
|
|
141
|
+
aria-hidden="true"
|
|
142
|
+
{...stylex.props(
|
|
143
|
+
styles.knob,
|
|
144
|
+
isPressed ? styles.knobOn : undefined,
|
|
145
|
+
disabled ? styles.knobDisabled : undefined,
|
|
146
|
+
)}
|
|
147
|
+
/>
|
|
148
|
+
</span>
|
|
149
|
+
{children}
|
|
150
|
+
</button>
|
|
151
|
+
);
|
|
152
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {Switch, type SwitchProps} from './Switch.js';
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type {ComponentDoc} from '../docs/types.js';
|
|
2
|
+
|
|
3
|
+
export const tabListDoc = {
|
|
4
|
+
name: 'TabList',
|
|
5
|
+
description: 'Selects one of several panels through the ARIA tabs pattern.',
|
|
6
|
+
props: [
|
|
7
|
+
{
|
|
8
|
+
name: 'label',
|
|
9
|
+
description: 'Names the tab strip for assistive technology.',
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
name: 'onSelect',
|
|
13
|
+
description: 'Receives the id of the newly selected tab.',
|
|
14
|
+
},
|
|
15
|
+
{name: 'selectedId', description: 'Identifies the currently selected tab.'},
|
|
16
|
+
{
|
|
17
|
+
name: 'tabs',
|
|
18
|
+
description:
|
|
19
|
+
'Supplies the tab options in reading order; each may name the panel it controls.',
|
|
20
|
+
},
|
|
21
|
+
],
|
|
22
|
+
inheritedProps: [
|
|
23
|
+
'HTMLAttributes<HTMLDivElement> except children, className, onSelect, and role',
|
|
24
|
+
],
|
|
25
|
+
example:
|
|
26
|
+
'<TabList label="Views" onSelect={setView} selectedId={view} tabs={views} />',
|
|
27
|
+
storyId: 'core-tab-list--default',
|
|
28
|
+
} satisfies ComponentDoc;
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
import * as stylex from '@stylexjs/stylex';
|
|
2
|
+
import {useId, useRef, type HTMLAttributes, type ReactNode} from 'react';
|
|
3
|
+
|
|
4
|
+
import {semanticTokens} from '../authoring.stylex.js';
|
|
5
|
+
import {useListFocus} from '../hooks/useListFocus.js';
|
|
6
|
+
|
|
7
|
+
// The primary rank of underline: two hairlines, one weight above the rule the
|
|
8
|
+
// strip stands on. A subordinate rank of tab would take a single hairline.
|
|
9
|
+
const selectedMarkWidth = `calc(2 * ${semanticTokens.borderWidth})`;
|
|
10
|
+
|
|
11
|
+
const styles = stylex.create({
|
|
12
|
+
list: {
|
|
13
|
+
// The whole strip stands on one rule, and the tabs sit on it at a shared
|
|
14
|
+
// baseline so a label carrying a numeral or a count does not ride up.
|
|
15
|
+
alignItems: 'baseline',
|
|
16
|
+
borderBlockEndColor: semanticTokens.borderDefault,
|
|
17
|
+
borderBlockEndStyle: semanticTokens.borderStyle,
|
|
18
|
+
borderBlockEndWidth: semanticTokens.borderWidth,
|
|
19
|
+
columnGap: semanticTokens.spacingXl,
|
|
20
|
+
display: 'flex',
|
|
21
|
+
fontFamily: semanticTokens.fontFamilyBody,
|
|
22
|
+
},
|
|
23
|
+
tab: {
|
|
24
|
+
backgroundColor: 'transparent',
|
|
25
|
+
borderBlockEndColor: 'transparent',
|
|
26
|
+
borderBlockEndStyle: semanticTokens.borderStyle,
|
|
27
|
+
borderBlockEndWidth: selectedMarkWidth,
|
|
28
|
+
borderBlockStartStyle: 'none',
|
|
29
|
+
borderBlockStartWidth: 0,
|
|
30
|
+
borderInlineStyle: 'none',
|
|
31
|
+
borderInlineWidth: 0,
|
|
32
|
+
color: semanticTokens.colorTextSecondary,
|
|
33
|
+
cursor: 'pointer',
|
|
34
|
+
fontFamily: semanticTokens.fontFamilyBody,
|
|
35
|
+
fontSize: semanticTokens.fontSizeMd,
|
|
36
|
+
// One weight throughout. Setting the whole strip medium made it shout
|
|
37
|
+
// over the page and left nothing for the selected tab to gain; the ink
|
|
38
|
+
// rank and the underline say which tab is current, and neither reflows.
|
|
39
|
+
fontWeight: semanticTokens.fontWeightRegular,
|
|
40
|
+
letterSpacing: semanticTokens.letterSpacingLabel,
|
|
41
|
+
// The mark overlaps the strip's own rule instead of sitting under it.
|
|
42
|
+
marginBlockEnd: `calc(-1 * ${semanticTokens.borderWidth})`,
|
|
43
|
+
// The underline is the width of the label and nothing else. Inline padding
|
|
44
|
+
// would run the mark out past the word it marks, and the tabs are held
|
|
45
|
+
// apart by the strip's own gap rather than by a box around each one.
|
|
46
|
+
paddingBlockEnd: semanticTokens.spacingMd,
|
|
47
|
+
paddingBlockStart: 0,
|
|
48
|
+
paddingInline: 0,
|
|
49
|
+
transitionDuration: semanticTokens.durationFast,
|
|
50
|
+
transitionProperty: 'border-color, color',
|
|
51
|
+
transitionTimingFunction: semanticTokens.easingStandard,
|
|
52
|
+
':disabled': {color: semanticTokens.colorDisabledText, cursor: 'default'},
|
|
53
|
+
':focus-visible': {
|
|
54
|
+
outlineColor: semanticTokens.colorFocus,
|
|
55
|
+
outlineOffset: semanticTokens.focusOffset,
|
|
56
|
+
outlineStyle: semanticTokens.borderStyle,
|
|
57
|
+
outlineWidth: semanticTokens.focusWidth,
|
|
58
|
+
},
|
|
59
|
+
},
|
|
60
|
+
unselected: {
|
|
61
|
+
':hover:not(:disabled)': {color: semanticTokens.colorText},
|
|
62
|
+
},
|
|
63
|
+
// Selection is a mark, never a fill: the tab keeps its transparent ground
|
|
64
|
+
// and states its case with an underline in ink.
|
|
65
|
+
selected: {
|
|
66
|
+
borderBlockEndColor: semanticTokens.colorText,
|
|
67
|
+
color: semanticTokens.colorText,
|
|
68
|
+
},
|
|
69
|
+
});
|
|
70
|
+
|
|
71
|
+
/** One selectable tab in a `TabList`. */
|
|
72
|
+
export interface TabOption {
|
|
73
|
+
/**
|
|
74
|
+
* The `id` of the panel this tab reveals. Supply it when the panel is in the
|
|
75
|
+
* DOM: `aria-controls` pointing at an element that does not exist is worse
|
|
76
|
+
* than omitting it, because assistive technology follows the reference.
|
|
77
|
+
*/
|
|
78
|
+
readonly controls?: string;
|
|
79
|
+
readonly disabled?: boolean;
|
|
80
|
+
readonly id: string;
|
|
81
|
+
readonly label: ReactNode;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
/** Props for a single-select strip of tabs. */
|
|
85
|
+
export interface TabListProps extends Omit<
|
|
86
|
+
HTMLAttributes<HTMLDivElement>,
|
|
87
|
+
'children' | 'className' | 'onSelect' | 'role'
|
|
88
|
+
> {
|
|
89
|
+
readonly label: string;
|
|
90
|
+
readonly onSelect: (id: string) => void;
|
|
91
|
+
readonly selectedId: string;
|
|
92
|
+
readonly tabs: readonly TabOption[];
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* Selects one of several panels. The strip is one tab stop: arrow keys move
|
|
97
|
+
* between tabs and selection follows focus, matching the ARIA tabs pattern.
|
|
98
|
+
*/
|
|
99
|
+
export function TabList({
|
|
100
|
+
label,
|
|
101
|
+
onSelect,
|
|
102
|
+
selectedId,
|
|
103
|
+
tabs,
|
|
104
|
+
...props
|
|
105
|
+
}: TabListProps) {
|
|
106
|
+
const listRef = useRef<HTMLDivElement>(null);
|
|
107
|
+
const {onKeyDown} = useListFocus(listRef, {orientation: 'horizontal'});
|
|
108
|
+
const prefix = useId();
|
|
109
|
+
|
|
110
|
+
return (
|
|
111
|
+
<div
|
|
112
|
+
{...props}
|
|
113
|
+
aria-label={label}
|
|
114
|
+
onKeyDown={onKeyDown}
|
|
115
|
+
ref={listRef}
|
|
116
|
+
role="tablist"
|
|
117
|
+
{...stylex.props(styles.list)}
|
|
118
|
+
>
|
|
119
|
+
{tabs.map(({controls, disabled, id, label: tabLabel}) => {
|
|
120
|
+
const selected = id === selectedId;
|
|
121
|
+
|
|
122
|
+
return (
|
|
123
|
+
<button
|
|
124
|
+
{...(controls === undefined ? {} : {'aria-controls': controls})}
|
|
125
|
+
aria-selected={selected}
|
|
126
|
+
disabled={disabled ?? false}
|
|
127
|
+
id={`${prefix}-${id}-tab`}
|
|
128
|
+
key={id}
|
|
129
|
+
onClick={() => {
|
|
130
|
+
onSelect(id);
|
|
131
|
+
}}
|
|
132
|
+
onFocus={() => {
|
|
133
|
+
if (!disabled) {
|
|
134
|
+
onSelect(id);
|
|
135
|
+
}
|
|
136
|
+
}}
|
|
137
|
+
role="tab"
|
|
138
|
+
{...stylex.props(
|
|
139
|
+
styles.tab,
|
|
140
|
+
selected ? styles.selected : styles.unselected,
|
|
141
|
+
)}
|
|
142
|
+
tabIndex={selected ? 0 : -1}
|
|
143
|
+
type="button"
|
|
144
|
+
>
|
|
145
|
+
{tabLabel}
|
|
146
|
+
</button>
|
|
147
|
+
);
|
|
148
|
+
})}
|
|
149
|
+
</div>
|
|
150
|
+
);
|
|
151
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {TabList, type TabListProps, type TabOption} from './TabList.js';
|
package/src/Table/Table.doc.ts
CHANGED
|
@@ -70,7 +70,13 @@ export const tableBodyDoc = {
|
|
|
70
70
|
export const tableRowDoc = {
|
|
71
71
|
name: 'TableRow',
|
|
72
72
|
description: 'Groups related header or data cells in a native table row.',
|
|
73
|
-
props: [
|
|
73
|
+
props: [
|
|
74
|
+
{
|
|
75
|
+
name: 'selected',
|
|
76
|
+
description: 'Marks the row as chosen with a rule down its leading edge.',
|
|
77
|
+
},
|
|
78
|
+
{name: 'children', description: 'Supplies cells.', required: true},
|
|
79
|
+
],
|
|
74
80
|
inheritedProps: ['HTMLAttributes<HTMLTableRowElement> except className'],
|
|
75
81
|
example: '<TableRow><TableCell>Value</TableCell></TableRow>',
|
|
76
82
|
storyId: 'core-table--table-row',
|
|
@@ -86,6 +92,10 @@ export const tableHeaderCellDoc = {
|
|
|
86
92
|
required: true,
|
|
87
93
|
},
|
|
88
94
|
{name: 'scope', description: 'Associates the header with a row or column.'},
|
|
95
|
+
{
|
|
96
|
+
name: 'numeric',
|
|
97
|
+
description: 'Aligns the label over a column of figures.',
|
|
98
|
+
},
|
|
89
99
|
],
|
|
90
100
|
inheritedProps: ['ThHTMLAttributes<HTMLTableCellElement> except className'],
|
|
91
101
|
example: '<TableHeaderCell scope="col">Name</TableHeaderCell>',
|
|
@@ -97,6 +107,10 @@ export const tableCellDoc = {
|
|
|
97
107
|
description: 'Renders one native data cell in a table row.',
|
|
98
108
|
props: [
|
|
99
109
|
{name: 'children', description: 'Supplies the cell value.', required: true},
|
|
110
|
+
{
|
|
111
|
+
name: 'numeric',
|
|
112
|
+
description: 'Sets the value as a figure so a column of them lines up.',
|
|
113
|
+
},
|
|
100
114
|
],
|
|
101
115
|
inheritedProps: ['TdHTMLAttributes<HTMLTableCellElement> except className'],
|
|
102
116
|
example: '<TableCell>24</TableCell>',
|
package/src/Table/Table.tsx
CHANGED
|
@@ -28,18 +28,40 @@ const defaultTableStyle: TableStyleContextValue = {
|
|
|
28
28
|
|
|
29
29
|
const TableStyleContext = createContext(defaultTableStyle);
|
|
30
30
|
|
|
31
|
+
// Two hairlines wide, so the mark reads at the same weight as the underline a
|
|
32
|
+
// selected tab carries. Written as a calc over the border token rather than as
|
|
33
|
+
// 2px, so a theme that draws heavier lines gets a heavier mark with them.
|
|
34
|
+
const selectionRule = `inset calc(2 * ${semanticTokens.borderWidth}) 0 0 ${semanticTokens.colorAccent}`;
|
|
35
|
+
|
|
31
36
|
const styles = stylex.create({
|
|
32
37
|
table: {
|
|
33
38
|
borderCollapse: 'collapse',
|
|
34
39
|
color: semanticTokens.colorText,
|
|
35
40
|
fontFamily: semanticTokens.fontFamilyBody,
|
|
36
41
|
fontSize: semanticTokens.fontSizeMd,
|
|
42
|
+
letterSpacing: semanticTokens.letterSpacingBody,
|
|
43
|
+
// Nothing above a table sets a line-height to inherit — not the theme, not
|
|
44
|
+
// the provider — so without this the rows were spaced by whatever the
|
|
45
|
+
// browser's default happened to be while `List` and `Item` beside them
|
|
46
|
+
// were on the system's own leading.
|
|
47
|
+
lineHeight: semanticTokens.lineHeightBody,
|
|
37
48
|
width: '100%',
|
|
38
49
|
},
|
|
50
|
+
// The caption is the page's title, so it is set as one: the heading face at
|
|
51
|
+
// card-title size, opened to the heading tracking, and only medium — a page
|
|
52
|
+
// of accounts is titled, not shouted at.
|
|
39
53
|
caption: {
|
|
54
|
+
color: semanticTokens.colorText,
|
|
40
55
|
fontFamily: semanticTokens.fontFamilyHeading,
|
|
41
|
-
|
|
56
|
+
fontSize: semanticTokens.fontSizeLg,
|
|
57
|
+
fontWeight: semanticTokens.fontWeightMedium,
|
|
58
|
+
letterSpacing: semanticTokens.letterSpacingHeading,
|
|
59
|
+
lineHeight: semanticTokens.lineHeightHeading,
|
|
42
60
|
paddingBlock: semanticTokens.spacingSm,
|
|
61
|
+
// The title sits on the same margin as the first column: a caption that
|
|
62
|
+
// starts flush with the table box and cells that start one step in read
|
|
63
|
+
// as two documents stacked on each other.
|
|
64
|
+
paddingInline: semanticTokens.spacingLg,
|
|
43
65
|
textAlign: 'start',
|
|
44
66
|
},
|
|
45
67
|
bodyRow: {
|
|
@@ -56,19 +78,47 @@ const styles = stylex.create({
|
|
|
56
78
|
backgroundColor: semanticTokens.colorOverlayActive,
|
|
57
79
|
},
|
|
58
80
|
},
|
|
81
|
+
// A ledger header is an eyebrow, not a filled strip: smallest size, opened
|
|
82
|
+
// right up, one rank of ink below the rows it names. The rule under it does
|
|
83
|
+
// the separating, which is why it is drawn in the strong border while the
|
|
84
|
+
// row rules stay in the default one.
|
|
59
85
|
headerCell: {
|
|
60
|
-
backgroundColor: semanticTokens.colorSurfaceMuted,
|
|
61
86
|
color: semanticTokens.colorTextSecondary,
|
|
62
|
-
|
|
63
|
-
|
|
87
|
+
fontFamily: semanticTokens.fontFamilyHeading,
|
|
88
|
+
fontSize: semanticTokens.fontSizeXs,
|
|
89
|
+
fontWeight: semanticTokens.fontWeightRegular,
|
|
90
|
+
letterSpacing: semanticTokens.letterSpacingEyebrow,
|
|
91
|
+
paddingInline: semanticTokens.spacingLg,
|
|
64
92
|
textAlign: 'start',
|
|
65
93
|
},
|
|
66
94
|
cell: {
|
|
67
|
-
paddingInline: semanticTokens.
|
|
95
|
+
paddingInline: semanticTokens.spacingLg,
|
|
68
96
|
},
|
|
97
|
+
// A selected row is marked, not filled: the fill is what hover uses, and a
|
|
98
|
+
// row that is both selected and pointed at must still show both.
|
|
99
|
+
selectedRow: {boxShadow: selectionRule},
|
|
100
|
+
// A column of figures only reads as a column when the digits are the same
|
|
101
|
+
// width and the last one is flush. Mono, tabular and end-aligned; the header
|
|
102
|
+
// above it takes the alignment alone so it stays an eyebrow.
|
|
103
|
+
// No size of its own: `Numeral`, which is where this recipe lives, declares
|
|
104
|
+
// only the face, the figures and the tracking. A step down put the column of
|
|
105
|
+
// figures a rank below the words it belongs to.
|
|
106
|
+
numericCell: {
|
|
107
|
+
fontFamily: semanticTokens.fontFamilyMono,
|
|
108
|
+
fontVariantNumeric: 'tabular-nums',
|
|
109
|
+
letterSpacing: semanticTokens.letterSpacingMono,
|
|
110
|
+
textAlign: 'end',
|
|
111
|
+
},
|
|
112
|
+
numericHeaderCell: {textAlign: 'end'},
|
|
69
113
|
compact: {paddingBlock: semanticTokens.spacingSm},
|
|
70
114
|
default: {paddingBlock: semanticTokens.spacingMd},
|
|
71
115
|
spacious: {paddingBlock: semanticTokens.spacingLg},
|
|
116
|
+
// The header sits one step tighter than the rows it names at every density.
|
|
117
|
+
// It carries a line of 11px eyebrow, not a line of data, so matching the row
|
|
118
|
+
// height would give the strip more air than the entries underneath it.
|
|
119
|
+
headCompact: {paddingBlock: semanticTokens.spacingXs},
|
|
120
|
+
headDefault: {paddingBlock: semanticTokens.spacingSm},
|
|
121
|
+
headSpacious: {paddingBlock: semanticTokens.spacingMd},
|
|
72
122
|
rowDivider: {
|
|
73
123
|
':not(:last-child)': {
|
|
74
124
|
borderBlockEndColor: semanticTokens.borderDefault,
|
|
@@ -76,8 +126,11 @@ const styles = stylex.create({
|
|
|
76
126
|
borderBlockEndWidth: semanticTokens.borderWidth,
|
|
77
127
|
},
|
|
78
128
|
},
|
|
129
|
+
// This rule is not a divider between rows — it is what says the row above it
|
|
130
|
+
// is a legend and the rows below it are data. `dividers` decides whether the
|
|
131
|
+
// body is ruled; it has no say in whether the table has a head.
|
|
79
132
|
headerRowDivider: {
|
|
80
|
-
borderBlockEndColor: semanticTokens.
|
|
133
|
+
borderBlockEndColor: semanticTokens.borderStrong,
|
|
81
134
|
borderBlockEndStyle: semanticTokens.borderStyle,
|
|
82
135
|
borderBlockEndWidth: semanticTokens.borderWidth,
|
|
83
136
|
},
|
|
@@ -90,6 +143,12 @@ const styles = stylex.create({
|
|
|
90
143
|
},
|
|
91
144
|
});
|
|
92
145
|
|
|
146
|
+
const headerDensities = {
|
|
147
|
+
compact: styles.headCompact,
|
|
148
|
+
default: styles.headDefault,
|
|
149
|
+
spacious: styles.headSpacious,
|
|
150
|
+
} satisfies Record<TableDensity, (typeof styles)[keyof typeof styles]>;
|
|
151
|
+
|
|
93
152
|
export interface TableProps extends Omit<
|
|
94
153
|
TableHTMLAttributes<HTMLTableElement>,
|
|
95
154
|
'className'
|
|
@@ -106,18 +165,28 @@ export type TableHeadProps = Omit<
|
|
|
106
165
|
'className'
|
|
107
166
|
>;
|
|
108
167
|
export type TableBodyProps = TableHeadProps;
|
|
109
|
-
export
|
|
168
|
+
export interface TableRowProps extends Omit<
|
|
110
169
|
HTMLAttributes<HTMLTableRowElement>,
|
|
111
|
-
'className'
|
|
112
|
-
|
|
113
|
-
|
|
170
|
+
'aria-selected' | 'className'
|
|
171
|
+
> {
|
|
172
|
+
/**
|
|
173
|
+
* Marks the row as the chosen one. A rule down its leading edge, and
|
|
174
|
+
* `aria-selected` so the choice is not carried by the mark alone.
|
|
175
|
+
*/
|
|
176
|
+
readonly selected?: boolean;
|
|
177
|
+
}
|
|
178
|
+
export interface TableHeaderCellProps extends Omit<
|
|
114
179
|
ThHTMLAttributes<HTMLTableCellElement>,
|
|
115
180
|
'className'
|
|
116
|
-
|
|
117
|
-
|
|
181
|
+
> {
|
|
182
|
+
readonly numeric?: boolean;
|
|
183
|
+
}
|
|
184
|
+
export interface TableCellProps extends Omit<
|
|
118
185
|
TdHTMLAttributes<HTMLTableCellElement>,
|
|
119
186
|
'className'
|
|
120
|
-
|
|
187
|
+
> {
|
|
188
|
+
readonly numeric?: boolean;
|
|
189
|
+
}
|
|
121
190
|
|
|
122
191
|
function usesRowDividers(dividers: TableDividers) {
|
|
123
192
|
return dividers === 'rows' || dividers === 'grid';
|
|
@@ -168,14 +237,16 @@ export function TableBody({children, ...props}: TableBodyProps) {
|
|
|
168
237
|
);
|
|
169
238
|
}
|
|
170
239
|
|
|
171
|
-
export function TableRow({children, ...props}: TableRowProps) {
|
|
240
|
+
export function TableRow({children, selected, ...props}: TableRowProps) {
|
|
172
241
|
const {dividers, section} = useContext(TableStyleContext);
|
|
173
242
|
return (
|
|
174
243
|
<tr
|
|
175
244
|
{...props}
|
|
245
|
+
{...(selected === undefined ? {} : {'aria-selected': selected})}
|
|
176
246
|
{...stylex.props(
|
|
177
247
|
section === 'body' && styles.bodyRow,
|
|
178
248
|
section === 'body' && usesRowDividers(dividers) && styles.rowDivider,
|
|
249
|
+
section === 'body' && selected === true && styles.selectedRow,
|
|
179
250
|
)}
|
|
180
251
|
>
|
|
181
252
|
{children}
|
|
@@ -185,6 +256,7 @@ export function TableRow({children, ...props}: TableRowProps) {
|
|
|
185
256
|
|
|
186
257
|
export function TableHeaderCell({
|
|
187
258
|
children,
|
|
259
|
+
numeric = false,
|
|
188
260
|
scope = 'col',
|
|
189
261
|
...props
|
|
190
262
|
}: TableHeaderCellProps) {
|
|
@@ -195,8 +267,9 @@ export function TableHeaderCell({
|
|
|
195
267
|
scope={scope}
|
|
196
268
|
{...stylex.props(
|
|
197
269
|
styles.headerCell,
|
|
198
|
-
|
|
199
|
-
|
|
270
|
+
headerDensities[density],
|
|
271
|
+
numeric && styles.numericHeaderCell,
|
|
272
|
+
styles.headerRowDivider,
|
|
200
273
|
usesColumnDividers(dividers) && styles.columnDivider,
|
|
201
274
|
)}
|
|
202
275
|
>
|
|
@@ -205,7 +278,11 @@ export function TableHeaderCell({
|
|
|
205
278
|
);
|
|
206
279
|
}
|
|
207
280
|
|
|
208
|
-
export function TableCell({
|
|
281
|
+
export function TableCell({
|
|
282
|
+
children,
|
|
283
|
+
numeric = false,
|
|
284
|
+
...props
|
|
285
|
+
}: TableCellProps) {
|
|
209
286
|
const {density, dividers} = useContext(TableStyleContext);
|
|
210
287
|
return (
|
|
211
288
|
<td
|
|
@@ -213,6 +290,7 @@ export function TableCell({children, ...props}: TableCellProps) {
|
|
|
213
290
|
{...stylex.props(
|
|
214
291
|
styles.cell,
|
|
215
292
|
styles[density],
|
|
293
|
+
numeric && styles.numericCell,
|
|
216
294
|
usesColumnDividers(dividers) && styles.columnDivider,
|
|
217
295
|
)}
|
|
218
296
|
>
|